:root{--color-bg: #0a0a0f;--color-surface: #12121a;--color-border: #2a2a3a;--color-border-dashed: #3a3a4a;--color-text: #e0e0e8;--color-text-muted: #8888a0;--color-accent: #a0a0b8;--color-link-hover: #ffffff;--font-mono: var(--font-martian-mono), "JetBrains Mono", ui-monospace, monospace;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--space-2xl: 6rem;--max-width: 960px;--border-radius: 12px;color-scheme:dark}[data-theme=light]{--color-bg: #f5f5f0;--color-surface: #ffffff;--color-border: #d4d4d0;--color-border-dashed: #c0c0b8;--color-text: #1a1a1a;--color-text-muted: #606060;--color-accent: #505050;--color-link-hover: #000000;color-scheme:light}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg: #f5f5f0;--color-surface: #ffffff;--color-border: #d4d4d0;--color-border-dashed: #c0c0b8;--color-text: #1a1a1a;--color-text-muted: #606060;--color-accent: #505050;--color-link-hover: #000000;color-scheme:light}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-mono);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;transition:background-color .3s ease,color .3s ease}a{color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-link-hover)}img{max-width:100%;display:block}ul{list-style:none}.section{padding:var(--space-xl) var(--space-lg);max-width:var(--max-width);margin:0 auto}.section-title{font-family:var(--font-mono);font-size:1.25rem;font-weight:400;margin-bottom:var(--space-lg);color:var(--color-text)}.dotted-border-top{border-top:1px dashed var(--color-border-dashed)}.dotted-border-bottom{border-bottom:1px dashed var(--color-border-dashed)}.header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background-color:var(--color-bg);border-bottom:1px dashed var(--color-border-dashed);transition:background-color .3s ease}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding:var(--space-md) var(--space-lg)}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--font-mono);font-size:1.25rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.logo[data-astro-cid-3ef6ksr2]:hover{color:var(--color-link-hover)}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-lg)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-link-hover)}.theme-toggle[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;margin:0;cursor:pointer;color:var(--color-text-muted);transition:color .2s ease;line-height:1;vertical-align:middle}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--color-link-hover)}[data-theme=dark] .icon-sun[data-astro-cid-3ef6ksr2],[data-theme=light] .icon-moon[data-astro-cid-3ef6ksr2]{display:none}:root:not([data-theme]) .icon-sun[data-astro-cid-3ef6ksr2]{display:none}@media(prefers-color-scheme:light){:root:not([data-theme]) .icon-sun[data-astro-cid-3ef6ksr2]{display:block}:root:not([data-theme]) .icon-moon[data-astro-cid-3ef6ksr2]{display:none}}@media(max-width:480px){.header-inner[data-astro-cid-3ef6ksr2]{padding:var(--space-sm) var(--space-md)}nav[data-astro-cid-3ef6ksr2]{gap:var(--space-md)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.75rem}}.social-link[data-astro-cid-xfej6wit]{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);padding:var(--space-sm);transition:color .2s ease}.social-link[data-astro-cid-xfej6wit]:hover{color:var(--color-link-hover)}.with-label[data-astro-cid-xfej6wit]{gap:var(--space-sm)}.label[data-astro-cid-xfej6wit]{font-family:var(--font-mono);font-size:.8rem}.hero[data-astro-cid-bbe6dxrz]{min-height:calc(100vh - 60px - 8rem);display:flex;align-items:center;border-bottom:1px dashed var(--color-border-dashed)}.hero-content[data-astro-cid-bbe6dxrz]{max-width:var(--max-width);margin:0 auto;padding:9rem var(--space-lg);width:100%}.hero-text[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:column;gap:var(--space-md)}.intro[data-astro-cid-bbe6dxrz]{font-size:1.875rem;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.headline[data-astro-cid-bbe6dxrz]{font-size:clamp(3.5rem,8vw,6rem);font-weight:700;line-height:1;color:var(--color-text);white-space:nowrap}.bracket[data-astro-cid-bbe6dxrz]{font-weight:300}.tagline[data-astro-cid-bbe6dxrz]{font-size:1.5rem;font-weight:300;color:var(--color-text-muted);max-width:42rem;line-height:1.4;margin-top:var(--space-sm)}.hero-socials[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-xl);margin-top:var(--space-xl)}@media(max-width:768px){.hero-content[data-astro-cid-bbe6dxrz]{padding:6rem var(--space-lg)}.intro[data-astro-cid-bbe6dxrz]{font-size:1.25rem}.tagline[data-astro-cid-bbe6dxrz]{font-size:1.125rem}}@media(max-width:480px){.hero-content[data-astro-cid-bbe6dxrz]{padding:4rem var(--space-md)}.headline[data-astro-cid-bbe6dxrz]{white-space:normal}.hero-socials[data-astro-cid-bbe6dxrz]{gap:var(--space-lg)}}.card[data-astro-cid-mspuyifq]{border:1px dashed var(--color-border-dashed);border-radius:var(--border-radius);padding:var(--space-lg);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-lg);transition:border-color .2s ease}.card[data-astro-cid-mspuyifq]:hover{border-color:var(--color-text-muted)}.card-title[data-astro-cid-mspuyifq]{font-family:var(--font-mono);font-size:1rem;font-weight:500;margin-bottom:var(--space-sm);color:var(--color-text)}.card-description[data-astro-cid-mspuyifq]{font-size:.8rem;color:var(--color-text-muted);line-height:1.6}.card-footer[data-astro-cid-mspuyifq]{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-sm)}.tags[data-astro-cid-mspuyifq]{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag[data-astro-cid-mspuyifq]{font-size:.65rem;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px}.links[data-astro-cid-mspuyifq]{display:flex;gap:var(--space-sm);flex-shrink:0}.links[data-astro-cid-mspuyifq] a[data-astro-cid-mspuyifq]{color:var(--color-text-muted);display:flex;align-items:center}.links[data-astro-cid-mspuyifq] a[data-astro-cid-mspuyifq]:hover{color:var(--color-link-hover)}.grid[data-astro-cid-amng4zvp]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.about-layout[data-astro-cid-v2cbyr3p]{display:flex;gap:var(--space-xl);align-items:flex-start}.section-title[data-astro-cid-v2cbyr3p]{flex-shrink:0;margin-bottom:0;white-space:nowrap}.divider[data-astro-cid-v2cbyr3p]{width:1px;align-self:stretch;background-color:var(--color-border-dashed);flex-shrink:0}.about-content[data-astro-cid-v2cbyr3p]{display:flex;flex-direction:column;gap:var(--space-lg)}.about-content[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{font-size:.85rem;color:var(--color-text-muted);line-height:1.8}.skills[data-astro-cid-v2cbyr3p]{display:flex;flex-direction:column;gap:var(--space-sm)}.skill-group[data-astro-cid-v2cbyr3p]{font-size:.8rem;line-height:1.6}.skill-label[data-astro-cid-v2cbyr3p]{color:var(--color-text);font-weight:500}.skill-label[data-astro-cid-v2cbyr3p]:after{content:": "}.skill-value[data-astro-cid-v2cbyr3p]{color:var(--color-text-muted)}@media(max-width:600px){.about-layout[data-astro-cid-v2cbyr3p]{flex-direction:column;gap:var(--space-lg)}.divider[data-astro-cid-v2cbyr3p]{width:100%;height:1px;align-self:auto}}.contact-content[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:var(--space-lg)}.email[data-astro-cid-xmivup5a]{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-muted)}.email[data-astro-cid-xmivup5a]:hover{color:var(--color-link-hover)}.socials[data-astro-cid-xmivup5a]{display:flex;gap:var(--space-md)}
