*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fs-2xs: .75rem;--fs-xs: .8125rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.0625rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.375rem;--ease-out: cubic-bezier(.23, 1, .32, 1);--dur-fast: .15s;--dur-ui: .2s;--dur-reveal: .5s;--bg: #f7f8fa;--bg-alt: #eef0f4;--surface: #ffffff;--border: rgba(0, 0, 0, .07);--border-md: rgba(0, 0, 0, .12);--text: #1a1c24;--text-mid: #3d4358;--text-muted: #525a6a;--text-dim: #646c7c;--nav-bg: rgba(247, 248, 250, .92);--accent: #007548;--accent-rgb: 0, 117, 72;--accent-bg: rgba(0, 117, 72, .08);--accent-fg: #ffffff;--gold: #8a6800;--scrollbar: #d1d5db;--grid-line: rgba(0, 0, 0, .04)}[data-theme=dark]{--bg: #0c0e13;--bg-alt: #0f1219;--surface: #141720;--border: rgba(255, 255, 255, .06);--border-md: rgba(255, 255, 255, .12);--text: #e2e5ed;--text-mid: #b0bcd0;--text-muted: #9aa3b5;--text-dim: #7a8499;--nav-bg: rgba(12, 14, 19, .92);--accent: #00d97e;--accent-rgb: 0, 217, 126;--accent-bg: rgba(0, 217, 126, .1);--accent-fg: #062a1b;--gold: #c89b00;--scrollbar: #252a38;--grid-line: rgba(255, 255, 255, .03)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);overflow-x:hidden;font-size:16px}[data-theme=dark] body{-webkit-font-smoothing:antialiased}.home>section{background:var(--bg)}.home>section:nth-of-type(odd):not(#hero){background:var(--bg-alt)}.news-item{display:grid;grid-template-columns:5.5rem 1.75rem minmax(0,1fr);grid-template-areas:"date icon text";align-items:baseline;column-gap:.75rem}@media (max-width: 640px){.news-item{grid-template-columns:1.75rem minmax(0,1fr);grid-template-areas:"date date" "icon text";row-gap:.3rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.detail-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 900px){.detail-grid{grid-template-columns:minmax(0,1fr) 280px;gap:3rem;align-items:start}}@media (min-width: 1200px){.detail-grid{gap:4rem}}.detail-sidebar{display:contents}@media (min-width: 900px){.detail-sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:88px}}.detail-hero-cta-mobile{display:flex}@media (min-width: 900px){.detail-hero-cta-mobile{display:none}}a{color:inherit;text-decoration:none}button{font-family:inherit;user-select:none;-webkit-user-select:none}a,button{touch-action:manipulation}.press,.pill,.copy-btn,.social-card,.project-card-link,.nav-menu button{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme=dark] .invert-on-dark{filter:brightness(0) invert(1)}[data-theme=dark] .theme-icon-moon,:root:not([data-theme=dark]) .theme-icon-sun{display:none}.press{transition:transform var(--dur-fast) var(--ease-out)}.press:active{transform:scale(.97)}.pill{transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.pill:active{transform:scale(.97)}.reveal{transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out);transition-delay:calc(var(--reveal-i, 0) * 50ms)}.js .reveal:not([data-in-view]){opacity:0;transform:translateY(8px)}[data-filtered] .reveal{transition-duration:var(--dur-ui);transition-delay:0s}.enter{transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);transition-delay:calc(var(--enter-i, 0) * 30ms)}@starting-style{.enter{opacity:0;transform:translateY(8px)}}.nav-bar{transition:background-color var(--dur-ui) ease,border-color var(--dur-ui) ease,backdrop-filter var(--dur-ui) ease}.nav-link{color:var(--text-muted);transition:color var(--dur-fast) ease}.nav-menu{opacity:0;transform:translateY(-8px);visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),visibility 0s linear var(--dur-fast)}.nav-menu[data-open]{opacity:1;transform:none;visibility:visible;transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out),visibility 0s}.nav-menu button{color:var(--text)}.nav-menu button:active{color:var(--accent)}.typed{display:grid}.typed>*{grid-area:1 / 1}.typed-ghost{visibility:hidden}.typed-caret{animation:blink 1s step-end infinite}.typed-text{transition:opacity var(--dur-ui) ease}.typed-text[data-fading]{opacity:0}.project-card{position:relative;border:1px solid var(--border);transition:border-color var(--dur-ui) ease,transform var(--dur-fast) var(--ease-out)}.project-card-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.project-card-tech>*{position:relative;z-index:1}.project-card-bar{background-color:transparent;transition:background-color var(--dur-ui) ease}.project-card-more{color:var(--text-dim);transition:color var(--dur-ui) ease}@supports selector(:has(*)){.project-card-link:focus-visible{outline:none}.project-card:has(.project-card-link:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.project-card:has(.project-card-link:active){transform:scale(.98)}}.social-card{border:1px solid var(--border);transition:transform var(--dur-ui) var(--ease-out),border-color var(--dur-ui) ease}.copy-btn{display:inline-grid;place-items:center;background-color:transparent;color:var(--text-mid);border:1px solid var(--border-md);transition:background-color var(--dur-ui) ease,border-color var(--dur-ui) ease,color var(--dur-ui) ease,transform var(--dur-fast) var(--ease-out)}.copy-btn:active{transform:scale(.97)}.copy-btn[data-copied]{background-color:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.copy-btn>span{grid-area:1 / 1;transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out),filter var(--dur-ui) var(--ease-out)}.copy-btn:not([data-copied])>.copy-done,.copy-btn[data-copied]>.copy-idle{opacity:0;transform:scale(.97);filter:blur(2px)}@media (hover: hover) and (pointer: fine){.nav-link:hover{color:var(--text)}.project-card:hover{border-color:var(--accent);box-shadow:0 4px 20px #00000014}.project-card:hover .project-card-bar{background-color:var(--accent)}.project-card:hover .project-card-more{color:var(--accent)}.social-card:hover{transform:translateY(-2px);border-color:var(--accent)}}.social-card:active{transform:scale(.97);transition-duration:var(--dur-fast)}@media (prefers-reduced-motion: reduce){.js .reveal:not([data-in-view]),.nav-menu,.social-card:hover:not(:active){transform:none}@starting-style{.enter{transform:none}}.typed-caret{display:none}}@media print{.js .reveal:not([data-in-view]){opacity:1;transform:none;transition:none}}.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}
