*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-size:1.125rem;line-height:1.7;color:#e5e5e5;background:#0a0a0a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.site-header{position:sticky;top:0;z-index:100;background:#000c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #222}.site-header__inner{width:100%;max-width:700px;margin:0 auto;padding:1rem 1.5rem}.container{width:100%;max-width:700px;margin:0 auto;padding:4rem 1.5rem}h1,h2,h3{line-height:1.25;font-weight:600;color:#e5e5e5}h1{font-size:1.5rem;margin-bottom:.5rem}h2{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem}h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem}.muted{color:#888}p{margin-bottom:1.5rem}p:last-child{margin-bottom:0}a{color:inherit;text-decoration:underline;text-decoration-color:#555;text-underline-offset:.15em}a:hover{color:#4ade80;text-decoration-color:#4ade80}hr{border:0;border-top:1px solid #333;margin:1.5rem 0}.site-header nav{margin-bottom:0}nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem;font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.9rem}nav a{text-decoration:none}nav a:hover{color:#4ade80}.cmd-hint{font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:#666;padding:.25rem .5rem;border:1px solid #333;border-radius:4px;background:transparent}.perf-hud{position:fixed;bottom:1rem;right:1.5rem;display:flex;align-items:center;gap:1rem;font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.7rem;color:#666;z-index:1000;pointer-events:none}.perf-hud__pulse{color:#4ade80;animation:perf-pulse 2s ease-in-out infinite}@keyframes perf-pulse{0%,to{opacity:1}50%{opacity:.5}}.perf-hud__metric{white-space:nowrap}.terminal-header{font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.9rem;color:#e5e5e5;background:#1a1a1a;border-radius:4px;padding:1rem 1.25rem;margin-bottom:2rem}.terminal-header .prompt{color:#4ade80}.section-title{font-size:1.5rem;font-weight:700;color:#e5e5e5;margin-top:0;margin-bottom:0;padding-bottom:.75rem;border-bottom:1px solid #333;margin-bottom:1.25rem}.terminal-hero{font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.9rem;color:#e5e5e5;background:#0a0a0a;border:1px solid #222;border-radius:6px;padding:1.5rem;margin-bottom:5rem}.terminal-hero .prompt{color:#4ade80;margin-right:.25rem}.terminal-hero__line{margin-bottom:.35rem}.terminal-hero__line:last-child{margin-bottom:0}.terminal-hero__output{color:#d4d4d4;padding-left:.5rem}.terminal-cursor{display:inline-block;margin-left:.15em;color:#4ade80;animation:cursor-blink .8s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.home-bio{margin-bottom:5rem}.home-bio p{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.125rem;line-height:1.75;color:#e5e5e5}.core-stack{margin-bottom:5rem}.core-stack__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:768px){.core-stack__grid{grid-template-columns:1fr}}.core-stack__category{padding:1rem 0}.core-stack__category-title{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.9rem;font-weight:600;color:#888;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.03em}.core-stack__skills{list-style:none}.core-stack__skills li{font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.85rem;color:#4ade80;padding:.25rem 0;border-bottom:1px solid #1a1a1a}.core-stack__skills li:last-child{border-bottom:none}.focus-areas{margin-bottom:5rem}.focus-areas__grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:640px){.focus-areas__grid{grid-template-columns:1fr}}.focus-area{padding-bottom:0;margin-bottom:0;border-bottom:none}.focus-area-card{padding:1.25rem;border-radius:6px;border:1px solid #333;background:transparent;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.focus-area-card:hover{background-color:#161616;border-color:#4ade80;transform:translateY(-2px)}.focus-area__title{font-size:1.1rem;margin-top:0;margin-bottom:.5rem;color:#e5e5e5}.focus-area__desc{font-size:1rem;line-height:1.7;color:#d4d4d4;margin-bottom:.75rem}.focus-area__desc code,.focus-area code{font-family:Fira Code,ui-monospace,monospace;font-size:.9em;color:#4ade80;background:transparent;padding:0 .15em;border-radius:2px}.focus-area__stack{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none}.focus-area__stack .tech-tag{font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.85rem;padding:.25rem .5rem;color:#d4d4d4;background:#1a1a1a;border:1px solid #333;border-radius:4px}.trajectory{margin-bottom:5rem}.trajectory__subtitle{font-size:.9rem;margin-bottom:1.25rem}.trajectory-list{list-style:none}.trajectory-item{padding:.85rem 0;border-bottom:1px solid #333}.trajectory-item:last-child{border-bottom:none}.trajectory-item__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem}.trajectory-item__role{font-weight:700;color:#fff}.trajectory-item__dates{font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.85rem;color:#888}.trajectory-item__milestone{margin-top:.4rem;margin-bottom:0;font-size:.9rem;line-height:1.5;color:#a3a3a3}.trajectory-item__highlight{margin-top:.5rem;margin-bottom:0;font-size:.95rem;line-height:1.6;color:#d4d4d4}.trajectory-item__highlight code{font-family:Fira Code,ui-monospace,monospace;font-size:.9em;color:#4ade80;background:transparent;padding:0 .15em}.builders-log{margin-bottom:5rem}.builders-log .post-list li{padding:.75rem 0}.builders-log .post-list a{display:block;text-decoration:none;transition:color .2s ease}.builders-log .post-list a:after{content:" →";opacity:0;transition:opacity .2s ease}.builders-log .post-list a:hover{color:#4ade80}.builders-log .post-list a:hover:after{opacity:1}.builders-log__footer{margin-top:1.25rem;margin-bottom:0;padding-top:0;border-top:none;font-size:.95rem}.builders-log__footer a{text-decoration:none}.builders-log__footer a:hover{color:#4ade80}.connect-footer{margin-top:5rem;padding-top:2rem;border-top:1px solid #333}.connect-footer__links{display:flex;align-items:center;gap:1.5rem}.connect-footer__link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#888;transition:color .2s ease}.connect-footer__link:hover{color:#4ade80}.connect-footer__link:hover .connect-footer__icon{stroke:#4ade80}.connect-footer__icon{width:24px;height:24px;stroke:currentColor;transition:stroke .2s ease}ul{list-style:none}.post-list li{padding:.85rem 0;border-bottom:1px solid #333}.post-list li:last-child{border-bottom:none}.post-list a{text-decoration:none}.post-list a:hover{color:#4ade80}.post-meta{font-size:.85rem;color:#888;margin-top:.35rem}.prototype-list li{padding:.85rem 0;border-bottom:1px solid #333}.prototype-list li:last-child{border-bottom:none}.project-cards{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.project-card{padding:1.25rem 0;border-bottom:1px solid #333}.project-card:last-child{border-bottom:none}.project-card__title{margin-top:0;margin-bottom:.5rem;font-size:1.15rem}.project-card__title a{text-decoration:none}.project-card__title a:hover{color:#4ade80}.project-card__description{color:#e5e5e5;margin-bottom:.75rem;font-size:1rem}.project-card__tech{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}.tech-tag{display:inline-block;padding:.2rem .5rem;font-family:Fira Code,ui-monospace,monospace;font-size:.75rem;color:#888;background:#1a1a1a;border:1px solid #333;border-radius:4px}.prose{margin-top:1.5rem}.prose p{margin-bottom:1.5rem}.prose :last-child{margin-bottom:0}:root{--font-mono: "Fira Code", "JetBrains Mono", ui-monospace, monospace}.table-scroll{width:100%;overflow-x:auto;margin:2rem 0;-webkit-overflow-scrolling:touch}.table-scroll table{margin:0}table{width:100%;border-collapse:collapse;margin:2rem 0}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #222}th{font-family:var(--font-mono);font-weight:700;background:#111;color:#e5e5e5}td:first-child{font-family:var(--font-mono);color:#d4d4d4}footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #333;font-size:.9rem;color:#888}footer a{text-decoration:none}footer a:hover{color:#4ade80}@media(max-width:640px){.site-header__inner{padding:.875rem 1.25rem}.container{padding:2.5rem 1.25rem}nav{justify-content:flex-start}}.cmd-palette[data-astro-cid-wozhyvwc]{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:10vh 1rem 1rem;opacity:0;pointer-events:none;transition:opacity .2s ease}.cmd-palette[data-astro-cid-wozhyvwc].cmd-palette--open{opacity:1;pointer-events:auto}.cmd-palette__backdrop[data-astro-cid-wozhyvwc]{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.cmd-palette__modal[data-astro-cid-wozhyvwc]{position:relative;max-width:600px;width:100%;background:#111;border:1px solid #333;border-radius:8px;box-shadow:0 10px 30px #00000080;overflow:hidden}.cmd-palette__input[data-astro-cid-wozhyvwc]{display:block;width:100%;font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:1.2rem;padding:1rem;border:none;border-bottom:1px solid #333;background:transparent;color:#e5e5e5;outline:none}.cmd-palette__input[data-astro-cid-wozhyvwc]::placeholder{color:#666}.cmd-palette__list[data-astro-cid-wozhyvwc]{list-style:none;max-height:60vh;overflow-y:auto;padding:.5rem 0}.cmd-item[data-astro-cid-wozhyvwc]{padding:0;margin:0}.cmd-item__link[data-astro-cid-wozhyvwc]{display:block;padding:.65rem 1rem;font-family:Fira Code,JetBrains Mono,ui-monospace,monospace;font-size:.95rem;color:#e5e5e5;text-decoration:none;border-left:3px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}.cmd-item__link[data-astro-cid-wozhyvwc]:hover,.cmd-item[data-astro-cid-wozhyvwc].active .cmd-item__link[data-astro-cid-wozhyvwc]{background:#1a1a1a;border-left-color:#4ade80;color:#4ade80}.cmd-item__heart[data-astro-cid-wozhyvwc]{color:#4ade80;margin-right:.35rem}.cmd-item[data-astro-cid-wozhyvwc].cmd-item--hidden{display:none}
