@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-leading:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.blog-stats-card:where(.astro-ijqmotxh){margin-top:calc(var(--spacing,.25rem) * 14);align-items:flex-start;gap:calc(var(--spacing,.25rem) * 5);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgb(var(--color-border));padding:calc(var(--spacing,.25rem) * 6);transition-property:all;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));flex-direction:column;text-decoration-line:none;display:flex}@media (hover:hover){.blog-stats-card:where(.astro-ijqmotxh):hover{border-color:rgb(var(--color-accent))}}@media (width>=640px){.blog-stats-card:where(.astro-ijqmotxh){justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 8);flex-direction:row}}.blog-stats-card:where(.astro-ijqmotxh){background-image:linear-gradient(to right,rgb(var(--color-card)),rgb(var(--color-fill)) 45%)}.blog-stats-content:where(.astro-ijqmotxh){gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.blog-stats-heading:where(.astro-ijqmotxh){font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em);color:rgb(var(--color-text-base))}.blog-stats-text:where(.astro-ijqmotxh){color:rgb(var(--color-text-base));opacity:.8}.blog-stats-text:where(.astro-ijqmotxh) strong:where(.astro-ijqmotxh){--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:rgb(var(--color-accent))}.blog-stats-cta:where(.astro-ijqmotxh){align-items:center;gap:calc(var(--spacing,.25rem) * 2);background-color:rgb(var(--color-accent));padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 2.5);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);transition-property:transform,translate,scale,rotate;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));border-radius:3.40282e38px;flex-shrink:0;display:inline-flex}.blog-stats-arrow:where(.astro-ijqmotxh){height:calc(var(--spacing,.25rem) * 5);width:calc(var(--spacing,.25rem) * 5);fill:var(--color-white,#fff);transition-property:transform,translate,scale,rotate;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))}@media (hover:hover){.blog-stats-arrow:where(.astro-ijqmotxh):is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing,.25rem) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}.activity-grid:where(.astro-f6lznc7u){gap:calc(var(--spacing,.25rem) * 10);padding-top:calc(var(--spacing,.25rem) * 14);padding-bottom:calc(var(--spacing,.25rem) * 8);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (width>=640px){.activity-grid:where(.astro-f6lznc7u){gap:calc(var(--spacing,.25rem) * 12);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.activity-heading:where(.astro-f6lznc7u){margin-bottom:calc(var(--spacing,.25rem) * 4);font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em)}.activity-subheading:where(.astro-f6lznc7u){font-family:var(--font-mono,"IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-normal,400);font-weight:var(--font-weight-normal,400);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em);color:rgb(var(--color-text-base));opacity:.6}.activity-list:where(.astro-f6lznc7u){padding:calc(var(--spacing,.25rem) * 0);list-style-type:none}.activity-item:where(.astro-f6lznc7u){border-bottom-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-bottom-width:1px;border-color:rgb(var(--color-border))}.activity-item:where(.astro-f6lznc7u):last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.activity-row:where(.astro-f6lznc7u){align-items:baseline;gap:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);color:rgb(var(--color-text-base));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));grid-template-columns:2rem 1fr auto;display:grid}@media (hover:hover){.activity-row:where(.astro-f6lznc7u):hover{color:rgb(var(--color-accent))}}.activity-index:where(.astro-f6lznc7u){font-family:var(--font-mono,"IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--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,);opacity:.5}.activity-title:where(.astro-f6lznc7u){--tw-font-weight:var(--font-weight-medium,500);font-size:15px;font-weight:var(--font-weight-medium,500)}.activity-views:where(.astro-f6lznc7u){font-family:var(--font-mono,"IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--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,);opacity:.5}.topic-list:where(.astro-f6lznc7u){gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 0);flex-wrap:wrap;display:flex}@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}#hero:where(.astro-j7pv25f6){padding-top:calc(var(--spacing,.25rem) * 10);padding-bottom:calc(var(--spacing,.25rem) * 8)}#hero:where(.astro-j7pv25f6) h1:where(.astro-j7pv25f6){margin-block:calc(var(--spacing,.25rem) * 4);font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height,1.2));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);display:inline-block}@media (width>=640px){#hero:where(.astro-j7pv25f6) h1:where(.astro-j7pv25f6){margin-block:calc(var(--spacing,.25rem) * 8);font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5 / 2.25)))}}.hero-intro:where(.astro-j7pv25f6){font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625)}.highlight:where(.astro-j7pv25f6){background-color:#0000;background-image:linear-gradient(to top,rgba(var(--color-accent),.35) 28%,transparent 28%);color:inherit;font-weight:inherit;padding:0 1px}.dotted-link:where(.astro-j7pv25f6){color:rgb(var(--color-accent));text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px}#hero:where(.astro-j7pv25f6) .rss-link:where(.astro-j7pv25f6){margin-bottom:calc(var(--spacing,.25rem) * 6)}#hero:where(.astro-j7pv25f6) .rss-icon:where(.astro-j7pv25f6){margin-bottom:calc(var(--spacing,.25rem) * 2);height:calc(var(--spacing,.25rem) * 6);width:calc(var(--spacing,.25rem) * 6);--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y);fill:rgb(var(--color-accent))}@media (width>=640px){#hero:where(.astro-j7pv25f6) .rss-icon:where(.astro-j7pv25f6){margin-bottom:calc(var(--spacing,.25rem) * 3);--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}}#hero:where(.astro-j7pv25f6) p:where(.astro-j7pv25f6){margin-block:calc(var(--spacing,.25rem) * 2)}.username:where(.astro-j7pv25f6){background-color:rgb(var(--color-accent));color:#fff;vertical-align:middle;border-radius:9999px;padding:6px 18px;font-size:1.5rem;font-weight:500;display:inline-block}.social-wrapper:where(.astro-j7pv25f6){margin-top:calc(var(--spacing,.25rem) * 4);flex-direction:column;display:flex}@media (width>=640px){.social-wrapper:where(.astro-j7pv25f6){flex-direction:row;align-items:center}}.social-links:where(.astro-j7pv25f6){margin-right:calc(var(--spacing,.25rem) * 2);margin-bottom:calc(var(--spacing,.25rem) * 1);white-space:nowrap}@media (width>=640px){.social-links:where(.astro-j7pv25f6){margin-bottom:calc(var(--spacing,.25rem) * 0)}}#featured:where(.astro-j7pv25f6),#recent-posts:where(.astro-j7pv25f6){padding-top:calc(var(--spacing,.25rem) * 14);padding-bottom:calc(var(--spacing,.25rem) * 8)}#featured:where(.astro-j7pv25f6) h2:where(.astro-j7pv25f6),#recent-posts:where(.astro-j7pv25f6) h2:where(.astro-j7pv25f6){font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em)}#projects:where(.astro-j7pv25f6){padding-top:calc(var(--spacing,.25rem) * 14);padding-bottom:calc(var(--spacing,.25rem) * 8)}.projects-header:where(.astro-j7pv25f6){justify-content:space-between;align-items:baseline;display:flex}#projects:where(.astro-j7pv25f6) h2:where(.astro-j7pv25f6){font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em)}.all-projects-link:where(.astro-j7pv25f6){font-family:var(--font-mono,"IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:rgb(var(--color-text-base));opacity:.6;transition-property:opacity;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))}@media (hover:hover){.all-projects-link:where(.astro-j7pv25f6):hover{color:rgb(var(--color-accent));opacity:1}}.projects-grid:where(.astro-j7pv25f6){margin-top:calc(var(--spacing,.25rem) * 6);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 0);grid-template-columns:repeat(1,minmax(0,1fr));list-style-type:none;display:grid}@media (width>=640px){.projects-grid:where(.astro-j7pv25f6){grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card:where(.astro-j7pv25f6){align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgb(var(--color-border));height:100%;padding-inline:calc(var(--spacing,.25rem) * 4);padding-block: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));text-decoration-line:none;display:flex}@media (hover:hover){.project-card:where(.astro-j7pv25f6):hover{border-color:rgb(var(--color-accent))}}.project-card:where(.astro-j7pv25f6){background-image:linear-gradient(to right,rgb(var(--color-card)),rgb(var(--color-fill)) 45%)}.project-icon:where(.astro-j7pv25f6){height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);border-radius:10px;flex-shrink:0}.project-meta:where(.astro-j7pv25f6){min-width:calc(var(--spacing,.25rem) * 0);flex-direction:column;display:flex}.project-name:where(.astro-j7pv25f6){font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,1.5));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:rgb(var(--color-text-base))}.project-kind:where(.astro-j7pv25f6){font-family:var(--font-mono,"IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace);--tw-tracking:var(--tracking-widest,.1em);letter-spacing:var(--tracking-widest,.1em);color:rgb(var(--color-text-base));text-transform:uppercase;opacity:.5;font-size:10px}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}