/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-2b4c1da1],[data-v-2b4c1da1]:before,[data-v-2b4c1da1]:after,[data-v-2b4c1da1]::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}.main-section[data-v-2b4c1da1]{min-height:calc(100vh - 3rem)}.hero h1[data-v-2b4c1da1]{margin-bottom:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,1.75rem));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.hero p[data-v-2b4c1da1]{margin-bottom:calc(var(--spacing,.25rem) * 10);max-width:var(--container-lg,32rem);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.375rem));color:var(--color-fg-muted,#666)}.section[data-v-2b4c1da1]{margin-bottom:calc(var(--spacing,.25rem) * 10)}.section h2[data-v-2b4c1da1]{margin-bottom:calc(var(--spacing,.25rem) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border,#e5e5e4);padding-bottom:calc(var(--spacing,.25rem) * 2);font-size:var(--text-base,.9375rem);line-height:var(--tw-leading,var(--text-base--line-height,1.5rem));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.section-link[data-v-2b4c1da1]{text-decoration-line:none}@media(hover:hover){.section-link[data-v-2b4c1da1]:hover{text-decoration-line:underline}}.list[data-v-2b4c1da1]{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 0);flex-direction:column;list-style-type:none;display:flex}.item[data-v-2b4c1da1]{border-radius:var(--radius-sm,3px);border-left-style:var(--tw-border-style);border-color:#9999994d;border-left-width:2px}@supports (color:color-mix(in lab,red,red)){.item[data-v-2b4c1da1]{border-color:color-mix(in oklab,var(--color-fg-faint,#999) 30%,transparent)}}.item[data-v-2b4c1da1]{padding-block:calc(var(--spacing,.25rem) * 1);padding-left:calc(var(--spacing,.25rem) * 3);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.item[data-v-2b4c1da1]:has(.item-body-link:hover){border-color:#4488cc80}@supports (color:color-mix(in lab,red,red)){.item[data-v-2b4c1da1]:has(.item-body-link:hover){border-color:color-mix(in oklab,var(--color-accent-blue,#48c) 50%,transparent)}}.item[data-v-2b4c1da1]:has(.item-body-link:hover){background-color:var(--color-bg-subtle,#f9f9f8)}.item-body[data-v-2b4c1da1]{flex-direction:column;display:flex}.item-body-link[data-v-2b4c1da1]{cursor:pointer;text-decoration-line:none}.item-body-link:hover .item-link[data-v-2b4c1da1]{color:var(--color-accent-blue,#48c)}.ext-icon[data-v-2b4c1da1]{margin-right:calc(var(--spacing,.25rem) * 1);opacity:.5;flex-shrink:0;display:inline-block}.item-row[data-v-2b4c1da1]{align-items:baseline;column-gap:calc(var(--spacing,.25rem) * 3);row-gap:calc(var(--spacing,.25rem) * .5);flex-wrap:wrap;display:flex}.date[data-v-2b4c1da1]{font-size:var(--text-xs,.8125rem);line-height:var(--tw-leading,var(--text-xs--line-height,1.25rem));color:var(--color-fg-faint,#999);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);flex-shrink:0}.item-link[data-v-2b4c1da1]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.375rem));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}.desc[data-v-2b4c1da1]{margin-top:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.8125rem);line-height:var(--tw-leading,var(--text-xs--line-height,1.25rem));color:var(--color-fg-muted,#666)}.project-header[data-v-2b4c1da1]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);flex-wrap:wrap;display:flex}.project-tags[data-v-2b4c1da1]{margin-top:calc(var(--spacing,.25rem) * 1);gap:calc(var(--spacing,.25rem) * 1);flex-wrap:wrap;display:flex}.cat-tag[data-v-2b4c1da1]{border-radius:var(--radius-sm,3px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border,#e5e5e4);padding-inline:calc(var(--spacing,.25rem) * 1.5);color:var(--color-fg-muted,#666);font-size:.625rem;line-height:1.25rem}.project-links[data-v-2b4c1da1]{margin-top:calc(var(--spacing,.25rem) * .5);align-items:center;column-gap:calc(var(--spacing,.25rem) * 3);row-gap:calc(var(--spacing,.25rem) * .5);flex-wrap:wrap;display:flex}.plink[data-v-2b4c1da1]{align-items:center;gap:calc(var(--spacing,.25rem) * 1);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.8125rem);line-height:var(--tw-leading,var(--text-xs--line-height,1.25rem));color:var(--color-fg-muted,#666);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));text-decoration-line:none;display:inline-flex}@media(hover:hover){.plink[data-v-2b4c1da1]:hover{color:var(--color-accent-blue,#48c)}}.empty[data-v-2b4c1da1]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,1.375rem));color:var(--color-fg-muted,#666)}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
