.section-header:where(.astro-fd76dclb){display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:.875rem;border-bottom:1px solid hsl(var(--border))}.section-icon:where(.astro-fd76dclb){width:3rem;height:3rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:var(--type-headline);flex-shrink:0}.section-icon:where(.astro-fd76dclb).green{background:var(--gradient-icon-green)}.section-icon:where(.astro-fd76dclb).blue{background:var(--gradient-icon-blue)}.section-icon:where(.astro-fd76dclb).yellow{background:var(--gradient-icon-yellow)}.section-icon:where(.astro-fd76dclb).purple{background:var(--gradient-icon-purple)}.section-title:where(.astro-fd76dclb){margin:0;padding-bottom:.875rem;border-bottom:1px solid hsl(var(--border));font-weight:var(--weight-semibold)}.section-subtitle:where(.astro-fd76dclb){margin:0;margin-top:.25rem;color:hsl(var(--muted-foreground))}.timeline-list:where(.astro-fd76dclb){position:relative}.timeline-row:where(.astro-fd76dclb){display:flex;gap:1rem;position:relative;padding-bottom:1.25rem}.timeline-row:where(.astro-fd76dclb):last-child{padding-bottom:0}.timeline-row:where(.astro-fd76dclb).highlight .row-title:where(.astro-fd76dclb){color:hsl(var(--primary))}.timeline-row:where(.astro-fd76dclb).highlight .row-dot:where(.astro-fd76dclb){background:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .2)}.row-left:where(.astro-fd76dclb){display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0;padding-top:.5rem}.row-dot:where(.astro-fd76dclb){width:10px;height:10px;border-radius:50%;background:hsl(var(--muted-foreground) / .5);flex-shrink:0;transition:all var(--duration-fast) ease}.timeline-row:where(.astro-fd76dclb):hover .row-dot:where(.astro-fd76dclb){background:hsl(var(--primary));transform:scale(1.3)}.row-line:where(.astro-fd76dclb){width:2px;flex:1;min-height:16px;background:linear-gradient(to bottom,hsl(var(--border)),hsl(var(--border) / .2));margin-top:4px}.row-right:where(.astro-fd76dclb){flex:1;min-width:0;padding-top:.125rem}.row-header:where(.astro-fd76dclb){display:flex;align-items:center;gap:.75rem;margin-bottom:.375rem;flex-wrap:wrap}.row-date:where(.astro-fd76dclb){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--type-meta);font-weight:600;color:hsl(var(--primary));letter-spacing:-.01em}.row-tags:where(.astro-fd76dclb){display:flex;flex-wrap:wrap;gap:.375rem}.row-tag:where(.astro-fd76dclb){padding:.0625rem .375rem;border-radius:9999px;background:hsl(var(--muted) / .35);color:hsl(var(--muted-foreground));font-weight:500}.timeline-row:where(.astro-fd76dclb).highlight .row-tag:where(.astro-fd76dclb){background:hsl(var(--primary) / .12);color:hsl(var(--primary))}.row-title:where(.astro-fd76dclb){font-weight:var(--weight-semibold);margin:0 0 .375rem;color:hsl(var(--foreground));transition:color var(--duration-fast) ease;display:flex;align-items:center;gap:.5rem}.timeline-row:where(.astro-fd76dclb):hover .row-title:where(.astro-fd76dclb){color:hsl(var(--primary))}.blog-link:where(.astro-fd76dclb){display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;color:hsl(var(--muted-foreground) / .5);opacity:0;transition:all var(--duration-fast) ease;margin-left:.25rem}.timeline-row:where(.astro-fd76dclb):hover .blog-link:where(.astro-fd76dclb){opacity:1;color:hsl(var(--muted-foreground) / .7)}.blog-link:where(.astro-fd76dclb):hover{color:hsl(var(--primary))!important;background:hsl(var(--primary) / .1);transform:translateY(-1px)}.blog-link:where(.astro-fd76dclb) svg:where(.astro-fd76dclb){width:12px;height:12px}.row-desc:where(.astro-fd76dclb){color:hsl(var(--muted-foreground));margin:0}@media(max-width:640px){.section-header:where(.astro-fd76dclb){gap:.75rem}.section-icon:where(.astro-fd76dclb){width:2.5rem;height:2.5rem;font-size:var(--type-title);border-radius:.75rem}.section-title:where(.astro-fd76dclb).text-headline{font-size:var(--type-title)}.timeline-row:where(.astro-fd76dclb){gap:.875rem;padding-bottom:1rem}.row-left:where(.astro-fd76dclb){width:14px}.row-dot:where(.astro-fd76dclb){width:8px;height:8px}.row-title:where(.astro-fd76dclb).text-title{font-size:var(--type-title)}.row-desc:where(.astro-fd76dclb).text-body{font-size:var(--type-label)}}
