:root{color-scheme:light;--color-bg: #fdfdfc;--color-surface: #ffffff;--color-text: #1c1e21;--color-text-muted: #5c6470;--color-accent: #2563eb;--color-accent-contrast: #ffffff;--color-border: #e4e7eb;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--radius: 10px;--shadow: 0 1px 3px rgba(0, 0, 0, 0.08);--container: 46rem}[data-theme=dark]{color-scheme:dark;--color-bg: #101418;--color-surface: #171c22;--color-text: #e6e9ec;--color-text-muted: #9aa4af;--color-accent: #6ea8ff;--color-accent-contrast: #0b1220;--color-border: #2a323b;--shadow: 0 1px 3px rgba(0, 0, 0, 0.5)}@media(prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: #101418;--color-surface: #171c22;--color-text: #e6e9ec;--color-text-muted: #9aa4af;--color-accent: #6ea8ff;--color-accent-contrast: #0b1220;--color-border: #2a323b;--shadow: 0 1px 3px rgba(0, 0, 0, 0.5)}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.65;color:var(--color-text);background:var(--color-bg)}h1,h2,h3,h4{line-height:1.25;margin:0 0 .6em}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0 0 1em}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}code,pre{font-family:var(--font-mono)}code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:.1em .35em;font-size:.9em}pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1em;overflow-x:auto}pre code{background:none;border:none;padding:0;font-size:.9em}blockquote{margin:0 0 1em;padding:0 1em;border-left:3px solid var(--color-border);color:var(--color-text-muted)}hr{border:0;border-top:1px solid var(--color-border);margin:2em 0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}main.container{padding-top:2.5rem;padding-bottom:3rem}.site-header{border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;min-height:3.5rem}.site-header__brand{font-weight:700;color:var(--color-text)}.site-header__brand:hover{text-decoration:none;color:var(--color-accent)}.site-nav{display:flex;align-items:center;gap:1.1rem}.site-nav a{color:var(--color-text-muted)}.site-nav a:hover{color:var(--color-text);text-decoration:none}.site-nav a.is-active{color:var(--color-accent);font-weight:600}.hero{display:flex;align-items:center;gap:2rem;margin-bottom:3rem}.hero__photo{width:128px;height:128px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border);flex-shrink:0}.hero__tagline{color:var(--color-text-muted);font-size:1.05rem;margin-bottom:.5em}.hero__bio{margin-bottom:.9em}@media(max-width: 480px){.hero{flex-direction:column;align-items:flex-start}}.section{margin-bottom:3rem}.section__more{margin-top:1.1rem}.page__header{margin-bottom:2rem}.site-footer{border-top:1px solid var(--color-border)}.site-footer__inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--color-text-muted);font-size:.9rem}.btn{display:inline-block;padding:.45em 1em;border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:600;font-size:.9rem}.btn:hover{text-decoration:none;filter:brightness(1.08)}.btn--ghost{background:rgba(0,0,0,0);color:var(--color-accent);border:1px solid var(--color-border)}.btn--ghost:hover{border-color:var(--color-accent);filter:none}.project-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(16rem, 1fr));gap:1.25rem}.project-card{display:flex;flex-direction:column;gap:.55rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}.project-card__title{margin:0;font-size:1.1rem}.project-card__title a{color:var(--color-text)}.project-card__title a:hover{color:var(--color-accent);text-decoration:none}.project-card__description{margin:0;color:var(--color-text-muted);font-size:.95rem;flex-grow:1}.project-card__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.project-card__tags li{font-size:.75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:.1rem .6rem;color:var(--color-text-muted)}.project-card__links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.25rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;padding:0;border-radius:50%;border:1px solid var(--color-border);background:rgba(0,0,0,0);color:var(--color-text);cursor:pointer}.theme-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.theme-toggle__icon--sun{display:none}.theme-toggle__icon--moon{display:block}[data-theme=dark] .theme-toggle__icon--sun{display:block}[data-theme=dark] .theme-toggle__icon--moon{display:none}.social-links{list-style:none;display:flex;gap:.8rem;margin:0;padding:0}.social-links a{display:inline-flex;color:var(--color-text-muted)}.social-links a:hover{color:var(--color-accent)}.post-list{list-style:none;margin:0;padding:0}.post-list__item{padding:1.1rem 0;border-bottom:1px solid var(--color-border)}.post-list__item:last-child{border-bottom:none}.post-list__title{margin:0 0 .15rem;font-size:1.05rem}.post-list__meta{margin:0;color:var(--color-text-muted);font-size:.85rem}.post-list__excerpt{margin:.4rem 0 0;color:var(--color-text-muted);font-size:.95rem}.post__meta{color:var(--color-text-muted);font-size:.9rem;margin-top:-0.5em}.post__footer{margin-top:2.5rem}.quick-bits{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:1rem}.quick-bits li{background:var(--color-surface);border:1px solid var(--color-border);padding:1rem;border-radius:var(--radius);font-size:.9rem;display:flex;flex-direction:column;gap:.25rem}.quick-bits strong{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}/*# sourceMappingURL=main.css.map */