.grid-bg[data-astro-cid-ld34vbag]{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;background-image:linear-gradient(#17181a06 1px,#0000 1px),linear-gradient(90deg,#17181a06 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}.hero[data-astro-cid-ge2uvauf]{animation:heroFade var(--motion-intro) var(--ease-out) both;margin-bottom:clamp(1.75rem,3.5vw,2.75rem);position:relative}.hero-backdrop[data-astro-cid-ge2uvauf]{z-index:2;pointer-events:none;position:absolute;inset:-2rem 0 -.5rem;overflow:hidden}.fuzz-word[data-astro-cid-ge2uvauf]{white-space:nowrap;color:var(--muted-foreground);opacity:.22;font-family:var(--font-mono);letter-spacing:.04em;pointer-events:auto;cursor:default;font-size:.8rem;transition:opacity .35s,color .35s,filter .35s,text-shadow .35s;position:absolute;transform:translate(-50%,-50%)}.fuzz-word[data-astro-cid-ge2uvauf].is-fuzz{opacity:.9;color:var(--foreground);filter:blur(.6px);text-shadow:0 0 7px color-mix(in srgb, var(--primary) 65%, transparent)}.hero-backdrop[data-astro-cid-ge2uvauf].editing .fuzz-word[data-astro-cid-ge2uvauf]{opacity:.72;color:var(--foreground);filter:none;text-shadow:none;cursor:grab}.hero-backdrop[data-astro-cid-ge2uvauf].editing .fuzz-word[data-astro-cid-ge2uvauf]:active{cursor:grabbing}@media (hover:none),(width<=767px){.hero-backdrop[data-astro-cid-ge2uvauf]{display:none}}.hero-title[data-astro-cid-ge2uvauf]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-tagline[data-astro-cid-ge2uvauf]{max-width:28ch;color:var(--foreground);font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 2rem;font-size:clamp(1.25rem,2.6vw,1.85rem);font-weight:600;line-height:1.25}.hero-social[data-astro-cid-ge2uvauf]{align-items:center;gap:.15rem;margin-left:-.65rem;display:flex}.hero-social-link[data-astro-cid-ge2uvauf]{width:44px;height:44px;color:var(--muted-foreground);transition:color var(--motion-fast) ease;justify-content:center;align-items:center;display:inline-flex}.hero-social-link[data-astro-cid-ge2uvauf] svg[data-astro-cid-ge2uvauf]{width:21px;height:21px;display:block}@keyframes heroFade{0%{opacity:0}to{opacity:1}}@media (hover:hover) and (pointer:fine){.hero-social-link[data-astro-cid-ge2uvauf]:hover{color:var(--foreground)}}@media (prefers-reduced-motion:reduce){.hero[data-astro-cid-ge2uvauf]{animation:none}.hero-social-link[data-astro-cid-ge2uvauf],.fuzz-word[data-astro-cid-ge2uvauf]{transition:none}}@media (width<=480px){.hero[data-astro-cid-ge2uvauf]{margin-bottom:1.5rem}}.content-area{counter-reset:section;flex:1}.section-block{counter-increment:section;border-top:var(--hairline) solid var(--border);grid-template-columns:minmax(7.5rem,9.5rem) minmax(0,1fr);column-gap:clamp(2rem,7vw,6.5rem);margin-bottom:clamp(3.75rem,8vw,6rem);padding-top:1.25rem;display:grid}.section-block>:not(.section-label){grid-column:2}.section-label{color:var(--foreground);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;grid-area:1/1;align-self:start;align-items:center;gap:.7rem;margin:0;font-size:.6875rem;font-weight:600;line-height:1.5rem;display:inline-flex}.section-label:before{content:counter(section, decimal-leading-zero);width:2.25rem;height:1.5rem;color:var(--primary-foreground);background:var(--primary);letter-spacing:-.04em;font-variant-numeric:tabular-nums;border-radius:2px;flex:none;place-items:center;font-weight:700;display:inline-grid}.section-text{max-width:62ch;color:var(--muted-foreground);font-size:.9375rem;line-height:1.6}.section-text strong{color:var(--foreground);font-weight:650}.section-text+.section-text{margin-top:.7rem}.section-text--empty{color:var(--faint)}.work-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.work-item{border-bottom:var(--hairline) solid var(--border);flex-direction:column;gap:.4rem;padding:0 0 1.25rem;display:flex}.work-item+.work-item{padding-top:1.25rem}.work-head{justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.work-role{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.125rem,2.2vw,1.3rem);font-weight:700;line-height:1.25}.work-date,.work-place{font-family:var(--font-mono);letter-spacing:.035em;font-size:.72rem;line-height:1.5}.work-date{color:var(--faint);font-variant-numeric:tabular-nums;flex:none}.work-place{color:var(--muted-foreground);text-transform:uppercase}.work-divider{display:none}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.75rem;display:grid}.project-card{min-height:44px;color:inherit;background:var(--card);border:var(--hairline) solid var(--border);transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease;border-radius:5px;flex-direction:column;gap:.6rem;padding:1.5rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.project-card:after{content:"";background:var(--primary);opacity:0;transform-origin:100%;width:1.25rem;height:4px;transition:opacity var(--motion-fast) ease, transform var(--motion-fast) ease;position:absolute;top:-1px;right:-1px;transform:scaleX(0)}.project-card:focus-visible:after{opacity:1;transform:scaleX(1)}.project-name{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.025em;font-size:1.25rem;font-weight:700;line-height:1.2}.project-desc{max-width:58ch;color:var(--muted-foreground);font-size:.9375rem;line-height:1.6}.links{flex-wrap:wrap;gap:.625rem;display:flex}.link{min-height:44px;color:var(--foreground);background:var(--card);border:var(--hairline) solid var(--border);font-family:var(--font-mono);letter-spacing:.035em;transition:border-color var(--motion-fast) ease, background-color var(--motion-fast) ease;border-radius:4px;justify-content:center;align-items:center;padding:.7rem 1rem;font-size:.75rem;font-weight:550;text-decoration:none;display:inline-flex}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill{color:var(--foreground);background:var(--card);border:var(--hairline) solid var(--border);font-family:var(--font-mono);letter-spacing:.015em;border-radius:4px;padding:.45rem .65rem;font-size:.75rem;font-weight:500;line-height:1.35}.writing-list{border-top:var(--hairline) solid var(--border);flex-direction:column;display:flex}.writing-item{border-bottom:var(--hairline) solid var(--border);min-height:44px;transition:background-color var(--motion-fast) ease;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding:1rem .25rem 1rem 1rem;text-decoration:none;display:grid;position:relative}.writing-item:before{content:"";background:var(--primary);opacity:0;width:6px;height:6px;transition:opacity var(--motion-fast) ease, transform var(--motion-fast) ease;position:absolute;top:50%;left:0;transform:translateY(-50%)scale(.5)}.writing-item:focus-visible:before{opacity:1;transform:translateY(-50%)scale(1)}.writing-title{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.015em;font-size:1.0625rem;font-weight:650;line-height:1.4}.writing-date{color:var(--faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:.72rem}.footer{padding-top:1.25rem;padding-bottom:env(safe-area-inset-bottom);border-top:var(--hairline) solid var(--border);margin-top:1rem}.footer-text{color:var(--faint);font-family:var(--font-mono);letter-spacing:.035em;font-size:.6875rem}@media (hover:hover) and (pointer:fine){.project-card:hover{background:var(--card);border-color:var(--border-hover)}.project-card:hover:after{opacity:1;transform:scaleX(1)}.link:hover{background:var(--surface-subtle);border-color:var(--border-hover)}.writing-item:hover{background:color-mix(in srgb, var(--card) 72%, transparent)}.writing-item:hover:before{opacity:1;transform:translateY(-50%)scale(1)}}@media (width<=700px){.section-block{grid-template-columns:minmax(0,1fr);margin-bottom:3.75rem}.section-label{grid-area:auto/1;margin-bottom:1.25rem}.section-block>:not(.section-label){grid-column:1}}.content-area--personal .section-block{border-top:none;margin-bottom:clamp(1.75rem,3.5vw,2.5rem);padding-top:0;display:block}.content-area--personal .section-label{color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.02em;text-transform:none;margin:0 0 1.1rem;font-size:.8rem;font-weight:500;line-height:1.4;display:block}.content-area--personal .section-label:before{content:none}.section-text--lede{color:var(--foreground);font-size:1rem;line-height:1.6}@media (width<=520px){.work-head{flex-direction:column;gap:.35rem}.writing-item{grid-template-columns:minmax(0,1fr);gap:.35rem}.links{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}
