.flex{display:flex}.flex-inline{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-center{align-self:center}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-base{z-index:var(--z-index-base)}.z-dropdown{z-index:var(--z-index-dropdown)}.z-sticky{z-index:var(--z-index-sticky)}.z-fixed{z-index:var(--z-index-fixed)}.z-modal{z-index:var(--z-index-modal)}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-auto{margin-bottom:auto}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.mr-auto{margin-right:auto}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-0{padding-top:0;padding-bottom:0}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-smmd{font-size:var(--font-size-smmd)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.italic{font-style:italic}.not-italic{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--text-accent)}.bg-primary{background-color:var(--color-background-primary)}.bg-secondary{background-color:var(--color-background-secondary)}.bg-tertiary{background-color:var(--color-background-tertiary)}.bg-accent{background-color:var(--color-background-accent)}.bg-transparent{background-color:transparent}.border{border:1px solid var(--card-border)}.border-0{border:0}.border-top{border-top:1px solid var(--card-border)}.border-right{border-right:1px solid var(--card-border)}.border-bottom{border-bottom:1px solid var(--card-border)}.border-left{border-left:1px solid var(--card-border)}.rounded-none{border-radius:0}.rounded-xs{border-radius:var(--border-radius-xs)}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-pill{border-radius:var(--border-radius-pill)}.rounded-circle{border-radius:var(--border-radius-circle)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-small)}.shadow-md{box-shadow:var(--shadow-medium)}.shadow-lg{box-shadow:var(--shadow-large)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.blur-md{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.blur-lg{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.transition{transition:var(--transition-standard)}.transition-fast{transition:all var(--transition-duration-fast) var(--transition-timing)}.transition-slow{transition:all var(--transition-duration-slow) var(--transition-timing)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.visible{visibility:visible}.invisible{visibility:hidden}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.max-w-content{max-width:var(--content-max-width)}.max-w-narrow{max-width:var(--content-width-narrow)}.max-w-medium{max-width:var(--content-width-medium)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}@media (max-width: 768px){.hidden-mobile{display:none}.block-mobile{display:block}.flex-col-mobile{flex-direction:column}.text-center-mobile{text-align:center}.w-full-mobile{width:100%}.grid-cols-1-mobile{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 769px) and (max-width: 1024px){.hidden-tablet{display:none}.block-tablet{display:block}.text-center-tablet{text-align:center}.grid-cols-2-tablet{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3-tablet{grid-template-columns:repeat(3,minmax(0,1fr))}}.actionButton{display:inline-flex;align-items:center;justify-content:center;background:var(--button-primary-background);color:var(--button-primary-text);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-pill);text-decoration:none;font-weight:var(--font-weight-medium);transition:all .25s var(--transition-timing);box-shadow:var(--shadow-small);border:none;outline:none;cursor:pointer;font-family:inherit;font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-wide)}.smallButton{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.actionButton:hover{background:var(--button-primary-hover);color:var(--button-primary-text)!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-accent-rgb),.2)}.actionButton:focus{box-shadow:0 0 0 2px var(--color-accent-light),0 0 0 4px var(--color-accent)}.actionButton:active{transform:translateY(0)}:root:not(.dark) .actionButton{box-shadow:0 2px 6px #0000001a}:root:not(.dark) .actionButton:hover{box-shadow:0 4px 12px #00000026;color:#fff!important}@media (max-width: 768px){.actionButton:not(.smallButton){padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.smallButton{padding:var(--spacing-2xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.scrollButton{display:inline-block;background:var(--button-secondary-background);color:var(--button-secondary-text);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-pill);cursor:pointer;transition:var(--transition-standard);font-size:var(--font-size-lg);margin-top:var(--spacing-3xl);border:2px solid var(--text-secondary);outline:none;box-shadow:var(--shadow-small);line-height:1.2}.scrollButton:hover{background:var(--button-secondary-hover);transform:translateY(3px);border-color:var(--color-accent);box-shadow:var(--shadow-medium)}.primary{background:var(--button-primary-background);color:var(--button-primary-text)}.primary:hover{background:var(--button-primary-hover)}.down:after{content:" ↓";font-size:.9em}.up:after{content:" ↑";font-size:.9em}.right:after{content:" →";font-size:.9em}.left:after{content:" ←";font-size:.9em}.small{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md);border-width:1px;margin-top:var(--spacing-xl)}.medium{font-size:var(--font-size-md);padding:var(--spacing-sm) var(--spacing-lg);border-width:2px}.large{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-xl);border-width:2px}@media (max-width: var(--breakpoint-md)){.scrollButton{font-size:var(--font-size-md);padding:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-xl)}.small{font-size:var(--font-size-xs);padding:var(--spacing-xxs) var(--spacing-sm)}}.card{height:100%;display:flex;flex-direction:column}.horizontalCard{display:flex;flex-direction:column;height:100%}.cardHovered{transform:translateY(-2px)}.cardLink{display:flex!important;flex-direction:row!important;flex:1!important;text-decoration:none;color:inherit}.leftColumn{width:40%;display:flex;flex-direction:column;padding-bottom:0}.rightColumn{width:60%;display:flex;flex-direction:column}.imageContainer{position:relative;height:150px!important;width:100%;overflow:hidden}.image{width:100%;height:100%;object-fit:cover}.cardContent{padding:12px!important;display:flex;flex-direction:column;flex-grow:1}.title{font-size:1.1rem;font-weight:600;margin:4px 0;padding:8px;line-height:1.2}.description{margin-bottom:8px;font-size:var(--font-size-md);color:var(--text-secondary);line-height:var(--line-height-normal)}.tags{padding:0 12px 12px;margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;background:var(--tag-background);color:var(--tag-text);padding:4px 12px;border-radius:16px;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.tagSelected{background:var(--color-accent);color:#fff}@media (max-width: 768px){.cardLink{flex-direction:column!important}.leftColumn,.rightColumn{width:100%}.leftColumn{padding-bottom:8px}.title{margin-bottom:8px}.imageContainer{height:180px!important}}.contactSection{background-color:var(--color-background-secondary);position:relative;overflow:hidden}.contactContent{position:relative;z-index:2;color:var(--text-primary);padding:0}.contactTitle{position:relative;display:inline-block}.contactTitle:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:70px;height:3px;background-color:var(--color-accent);border-radius:3px}.contactSubtitle{margin-top:var(--spacing-md);max-width:600px}.contactText{text-align:center}@media (max-width: 768px){.contactSection{padding:var(--spacing-xl) var(--spacing-md)}}.footer{background-color:var(--footer-background);color:var(--footer-text);padding:var(--spacing-xl) 0 var(--spacing-lg);width:100%;display:flex;justify-content:center;margin-top:0;position:relative;border-top:1px solid var(--card-border)}.footerContent{width:100%;max-width:var(--content-max-width);padding:0 var(--container-padding);text-align:center;position:relative}.footerSocialLinks{margin-bottom:var(--spacing-lg)}.copyright{font-size:var(--font-size-sm);opacity:.8;color:var(--text-secondary);margin-top:var(--spacing-md)}.scrollTopButton{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:40px;height:40px;border-radius:var(--border-radius-circle);background-color:var(--card-background);color:var(--text-secondary);border:1px solid var(--card-border);box-shadow:var(--shadow-small);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px);transition:all .25s var(--transition-timing);z-index:var(--z-index-fixed);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.scrollTopButton.visible{opacity:1;transform:translateY(0)}.scrollTopButton:hover{background-color:var(--color-accent-light);color:var(--color-accent);border-color:var(--color-accent-light);box-shadow:0 3px 6px rgba(var(--color-accent-rgb),.2);transform:translateY(-2px)}@media (max-width: 768px){.footer{padding:var(--spacing-lg) 0 var(--spacing-md)}.scrollTopButton{bottom:var(--spacing-lg);right:var(--spacing-lg);width:36px;height:36px}}.tag{display:inline-flex;align-items:center;background-color:var(--color-accent-light);color:var(--text-body);padding:2px 6px;border-radius:var(--border-radius-pill);font-size:var(--font-size-xs);transition:var(--transition-standard);border:1px solid var(--color-accent);margin-right:4px;margin-bottom:4px;cursor:pointer;position:relative}.prefix{color:var(--text-body);font-weight:var(--font-weight-bold);margin-right:2px;opacity:.9}.tag:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);border-color:var(--color-accent)}.tag:hover .prefix{color:var(--color-white);opacity:1}.selected{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);font-weight:var(--font-weight-medium);transform:translateY(-1px)}.selected .prefix{color:var(--color-white);opacity:1}.selected:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 3px 5px rgba(var(--color-accent-rgb),.35)}@media (max-width: 768px){.tag{margin-bottom:3px;margin-right:3px}}.tagCloud{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.tagButton{background:var(--tag-background);color:var(--tag-text);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s var(--transition-timing);cursor:pointer;border:1px solid rgba(var(--color-primary-rgb),.1);box-shadow:0 1px 2px rgba(var(--color-primary-rgb),.05)}.tagButton:hover{background:var(--tag-hover-background);transform:translateY(-1px);border-color:rgba(var(--color-primary-rgb),.2);box-shadow:0 2px 4px rgba(var(--color-primary-rgb),.1)}.tagButton.active{background:var(--color-accent);color:var(--color-white);font-weight:var(--font-weight-medium);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);border-color:var(--color-accent)}.filterContainer{margin-bottom:var(--spacing-xl);background:var(--card-background);padding:var(--spacing-lg);border-radius:var(--border-radius-md);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--card-border);box-shadow:var(--shadow-small);transition:all .25s var(--transition-timing)}.filterContainer:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.filterHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--card-border)}.filterTitle{margin-bottom:0;margin-top:0;font-size:var(--font-size-lg);color:var(--text-heading);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.tagList{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.tagButton{background:var(--tag-background);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-pill);font-size:var(--font-size-sm);border:1px solid rgba(var(--color-primary-rgb),.1);cursor:pointer;transition:all .2s var(--transition-timing);position:relative;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 1px 2px rgba(var(--color-primary-rgb),.05)}.tagButton:hover{background:var(--tag-hover-background);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-primary-rgb),.1);border-color:rgba(var(--color-primary-rgb),.2);color:var(--tag-text)}.tagButton.active{background:var(--color-accent);color:var(--color-white);font-weight:var(--font-weight-medium);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);border-color:var(--color-accent);transform:translateY(-1px)}.clearAllButton{background:transparent;border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-pill);transition:all .2s var(--transition-timing);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.clearAllButton:hover{color:var(--color-accent);background:var(--color-accent-light);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.15);border-color:var(--color-accent-light)}.filterSummary{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--card-background-alt);border-radius:var(--border-radius-sm);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--card-border)}@media (max-width: 768px){.filterContainer{padding:var(--spacing-md)}.tagList{gap:var(--spacing-xs)}.tagButton{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}}.toggle{background-color:var(--color-background-secondary);color:var(--color-accent);border:1px solid var(--button-secondary-background);border-radius:var(--border-radius-pill);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-standard);position:relative;overflow:hidden;padding:0;line-height:0}.toggle:hover{background-color:var(--color-accent-light);color:var(--navbar-active);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.15);border-color:var(--color-accent-light)}.toggle:active{transform:translateY(0);box-shadow:none}.icon{font-size:var(--font-size-lg);position:relative;z-index:2;transition:transform .25s var(--transition-timing);display:flex;align-items:center;justify-content:center}.toggle:hover .icon.rotateOnHover{transform:rotate(20deg)}.dot{position:absolute;bottom:2px;right:2px;width:8px;height:8px;border-radius:50%;z-index:2}.spacingRight{margin-right:var(--spacing-sm)}.spacingLeft{margin-left:var(--spacing-sm)}@media (max-width: 768px){.spacingRight,.spacingLeft{margin:0 var(--spacing-xs)}}.dark .toggle{background-color:var(--color-background-secondary);border-color:var(--button-secondary-background)}.dark .toggle:hover{background-color:var(--color-accent-light);border-color:var(--color-accent-light)}.toggle.animating .icon{animation:spin .5s var(--transition-timing)}.blue{box-shadow:0 0 0 2px #5b6fe94d}.blue .dot,.blueDot{background-color:#5b6fe9}@media (max-width: 768px){.toggle{width:40px;height:40px;transition:transform .2s var(--transition-timing),background-color .2s var(--transition-timing),box-shadow .2s var(--transition-timing)}.icon{font-size:var(--font-size-lg)}.toggle:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 8px rgba(var(--color-accent-rgb),.2)}.toggle:active{transform:translateY(0) scale(1)}}.searchContainer{position:relative;max-width:500px;margin:0 auto var(--spacing-xl);z-index:10}.searchInput{width:100%;padding:var(--spacing-sm) var(--spacing-xl) var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-pill);border:1px solid var(--card-border);font-size:var(--font-size-sm);outline:none;transition:all .25s var(--transition-timing);background-color:var(--color-background-secondary);color:var(--text-primary);box-shadow:0 2px 4px #0000000d}.searchInput::placeholder{color:var(--text-muted);opacity:.7}.searchInput:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.15);background-color:var(--color-background-secondary)}.clearButton{position:absolute;top:50%;right:var(--spacing-md);transform:translateY(-50%);background:transparent;border:none;font-size:var(--font-size-md);color:var(--text-secondary);cursor:pointer;padding:2px 8px;line-height:1;transition:all .2s var(--transition-timing);border-radius:50%;z-index:2;opacity:.7}.clearButton:hover{color:var(--color-accent);transform:translateY(-50%) scale(1.1);opacity:1}.dark .searchInput{background-color:var(--color-background-secondary);border-color:var(--card-border)}.dark .searchInput:focus{background-color:var(--color-background-secondary);border-color:var(--color-accent)}@media (max-width: 768px){.searchContainer{max-width:100%}.searchInput{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-lg) var(--spacing-xs) var(--spacing-md)}.clearButton{font-size:var(--font-size-sm);right:var(--spacing-sm)}}.gridBackground{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}.gridSvg{position:absolute;top:0;left:0;width:100%;height:100%}:root:not(.dark) .gridLightTheme{opacity:.75}:root.dark .gridDarkTheme{opacity:.85}@keyframes subtleFloat{0%{transform:translateY(0) translate(0)}50%{transform:translateY(-5px) translate(5px)}to{transform:translateY(0) translate(0)}}.animatedGrid{animation:subtleFloat 20s ease-in-out infinite;animation-play-state:paused}.animatedGrid.active{animation-play-state:running}@media (max-width: 768px){.gridBackground{opacity:.8}}.canvasBackground{position:absolute;top:0;left:0;right:0;width:100%;height:100%;z-index:var(--z-index-base);background:linear-gradient(to bottom,var(--color-background-secondary),var(--color-background-primary));touch-action:none;pointer-events:auto}.socialLinks{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);align-items:center;justify-content:center;width:100%}.socialLinks a{color:var(--text-heading);transition:all .2s var(--transition-timing);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-circle);background-color:transparent;border:1px solid var(--text-heading)}.socialLinks a:hover{color:var(--color-accent);transform:translateY(-2px);background-color:var(--color-accent-light);border-color:var(--color-accent-light);box-shadow:0 2px 5px rgba(var(--color-accent-rgb),.15)}.small{width:30px;height:30px;font-size:var(--font-size-md)}.medium{width:40px;height:40px;font-size:var(--font-size-xl)}.large{width:50px;height:50px;font-size:var(--font-size-2xl)}.blueskyIcon{width:25px;height:25px;filter:brightness(0) invert(.6);transition:all .2s var(--transition-timing)}.blueskyLink:hover .blueskyIcon{filter:brightness(0) invert(.4) sepia(1) saturate(5) hue-rotate(180deg)}@media (max-width: var(--breakpoint-md)){.large{width:45px;height:45px;font-size:var(--font-size-xl)}.medium{width:35px;height:35px;font-size:var(--font-size-lg)}.small{width:28px;height:28px;font-size:var(--font-size-md)}}.shareContainer{margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background-color:var(--card-background-alt);border-radius:var(--border-radius-md);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--card-border);transition:all .25s var(--transition-timing)}.shareContainer:hover{box-shadow:var(--shadow-small)}.shareTitle{margin-top:0;margin-bottom:var(--spacing-md);font-size:var(--font-size-md);color:var(--text-secondary);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide)}.shareButtons{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.shareButton{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-pill);color:var(--color-white);text-decoration:none;font-size:var(--font-size-sm);transition:all .2s var(--transition-timing);box-shadow:0 1px 3px #0000001a;font-weight:var(--font-weight-medium);min-width:120px;border:none}.shareButton:hover{transform:translateY(-1px);box-shadow:0 3px 5px #00000026}.shareButton svg{margin-right:var(--spacing-sm)}.twitter{background-color:#1da1f2e6}.twitter:hover{background-color:#1da1f2}.facebook{background-color:#4267b2e6}.facebook:hover{background-color:#4267b2}.linkedin{background-color:#0077b5e6}.linkedin:hover{background-color:#0077b5}.reddit{background-color:#ff5700e6}.reddit:hover{background-color:#ff5700}.copyLink{background-color:var(--color-accent);position:relative}.copyLink:hover{background-color:var(--color-accent-hover)}.copySuccess{position:absolute;top:-30px;left:50%;transform:translate(-50%);background-color:var(--color-success);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-pill);font-size:var(--font-size-xs);opacity:0;transition:opacity .2s var(--transition-timing);pointer-events:none}.copySuccess.visible{opacity:1}@media (max-width: 768px){.shareButtons{flex-direction:column;gap:var(--spacing-sm)}.shareButton{width:100%;padding:var(--spacing-sm);justify-content:center}}.timelineContainer{position:relative;margin:var(--spacing-xl) 0;width:100%;max-width:var(--content-width-narrow);padding-bottom:var(--spacing-xl);border-radius:var(--border-radius-lg)}.timelineContainer:before{display:none}.timelineEntry{position:relative;display:block;width:100%;text-align:left;margin:0 0 var(--spacing-lg) 0;opacity:1;transition:all .25s var(--transition-timing);cursor:default;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-md) 130px;border-radius:var(--border-radius-md);background-color:var(--card-background);border:1px solid var(--card-border)}.timelineEntry:hover{transform:translateY(-5px);background-color:var(--card-hover-background);border-color:var(--color-primary-light);box-shadow:var(--shadow-large);opacity:1!important;z-index:var(--z-index-dropdown)}.dimmedEntry{opacity:.6;transition:all .25s var(--transition-timing)}.timelineEntry:hover{z-index:var(--z-index-dropdown)}.timelineEntry:hover:before{background-color:var(--color-accent);box-shadow:0 0 15px rgba(var(--color-accent-rgb),.5);transform:scale(1.2);border-color:var(--color-white)}.dimmedEntry:before{opacity:1}.timelineEntry:last-of-type{margin-bottom:var(--spacing-xl)}.timelineEntry:before{content:"";position:absolute;width:16px;height:16px;background-color:var(--color-accent);border-radius:var(--border-radius-circle);left:81px;top:20px;border:2px solid var(--text-heading);z-index:3;transition:all .25s var(--transition-timing);opacity:1}.timelineLineSegment{position:absolute;left:89px;top:35px;width:2px;background-color:var(--text-heading);opacity:.5;height:calc(100% + 5px);z-index:1;transition:all .25s var(--transition-timing)}.timelineEntry:hover .timelineLineSegment{background:var(--color-accent);opacity:1;box-shadow:0 0 8px rgba(var(--color-accent-rgb),.5);width:3px;z-index:1;height:calc(100% - 35px)}.dimmedEntry .timelineLineSegment{opacity:.4}.timelineEntry:last-child .timelineLineSegment{height:calc(100% - 35px)}.timelineHalo{position:absolute;width:10px;height:10px;border-radius:var(--border-radius-circle);background-color:var(--text-heading);opacity:.3;left:85px;top:23px;z-index:2;transition:all .25s var(--transition-timing);pointer-events:none}.timelineEntry:hover .timelineHalo{background-color:var(--color-accent);transform:scale(1.2);box-shadow:0 0 6px rgba(var(--color-accent-rgb),.5);z-index:2;width:14px;height:14px;left:83px;top:21px;opacity:.7}.timelineYear{position:absolute;left:15px;top:var(--spacing-md);font-size:var(--font-size-md);color:var(--text-heading);font-weight:var(--font-weight-medium);background-color:transparent;padding:2px 8px;border-radius:var(--border-radius-sm)}.timelineContent{margin-bottom:var(--spacing-xs)}.timelineHeader{margin-bottom:var(--spacing-xs);color:var(--text-heading);transition:var(--transition-standard)}.timelineEntry:hover .timelineHeader{color:var(--color-primary-light)}.dimmedEntry .timelineHeader{opacity:.8}.timelineCompany{font-weight:var(--font-weight-medium);color:var(--text-link);transition:var(--transition-standard);position:relative}.timelineEntry:hover .timelineCompany{color:var(--text-link-hover)}.dimmedEntry .timelineCompany{opacity:.8}.timelineCompany a{color:inherit;text-decoration:none;position:relative}.timelineCompany a:hover{color:var(--text-link-hover)}.timelineCompany a:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.timelineCompany a:hover:after{transform:scaleX(1);transform-origin:left}.timelineLocation{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm);transition:var(--transition-standard);opacity:.7}.timelineEntry:hover .timelineLocation{opacity:.9}.dimmedEntry .timelineLocation{opacity:.7}.timelineRole{font-weight:var(--font-weight-bold);color:var(--text-primary);transition:var(--transition-standard)}.timelineEntry:hover .timelineRole{color:var(--text-heading)}.dimmedEntry .timelineRole{opacity:.8}.timelineDot{margin:0 var(--spacing-xs);color:var(--text-secondary);opacity:.7}.timelineDescription{font-size:var(--font-size-smmd);color:var(--text-primary);margin-bottom:var(--spacing-md);line-height:1.6}.timelineSkills{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.dimmedEntry{opacity:.5}.timelineEntry:hover .timelineDescription{color:var(--text-primary);opacity:1}.dimmedEntry .timelineDescription{opacity:.7}@media (max-width: var(--breakpoint-md)){.timelineEntry{padding-left:90px}.timelineContainer:before{left:70px}.timelineEntry:before{left:70px}.timelineHalo{left:74px}.timelineLineSegment{left:78px}.timelineYear{position:static;margin-bottom:var(--spacing-xs)}}@media (max-width: var(--breakpoint-sm)){.timelineEntry{padding-left:80px;padding-right:var(--spacing-sm)}.timelineContainer:before{left:60px}.timelineEntry:before{left:60px}.timelineHalo{left:64px}.timelineLineSegment{left:68px}.timelineYear{display:inline-block;margin-bottom:var(--spacing-xs)}.timelineRole,.timelineCompany{display:block}.timelineHeader{margin-top:var(--spacing-xs)}}.featuredSection{width:100%;padding:var(--section-spacing) var(--container-padding);background-color:var(--color-primary-light);background-image:linear-gradient(180deg,var(--color-primary-light),var(--color-background-secondary));display:flex;justify-content:center;position:relative;overflow:hidden;border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);box-shadow:inset 0 0 30px #ffffff1a;margin:0}:root:not(.dark) .featuredSection{background-color:var(--color-background-secondary);background-image:linear-gradient(180deg,var(--color-background-secondary),var(--color-background-primary));box-shadow:inset 0 0 30px #0000000d}.featuredSection{position:relative}.featuredContent{width:100%;box-sizing:border-box;position:relative;z-index:3;padding:0}.sectionSubtitle{text-align:center;font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:var(--letter-spacing-wide);max-width:650px;margin-left:auto;margin-right:auto}.projectsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);width:100%;box-sizing:border-box;margin-bottom:var(--spacing-xl)}.viewMoreContainer{text-align:center;margin-top:var(--spacing-xl)}@media (max-width: 767px){.projectsGrid{grid-template-columns:1fr;gap:var(--spacing-md)}}@media (min-width: 1024px){.projectsGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.sectionSubtitle{font-size:var(--font-size-sm)}}@media (max-width: 768px){.navbar-menu{display:none}.navbar{height:calc(var(--navbar-height) - 8px)}.btn{padding:var(--spacing-xs) var(--spacing-md)}.horizontal-card{border-radius:var(--border-radius-sm)}.card-body{padding:var(--spacing-md)}.container{padding:0 var(--spacing-md)}h1{font-size:calc(var(--font-size-3xl) * .9)}h2{font-size:calc(var(--font-size-2xl) * .9)}}@media (max-width: 480px){.btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.navbar{height:calc(var(--navbar-height) - 12px)}.card-body{padding:var(--spacing-sm)}h1{font-size:calc(var(--font-size-3xl) * .8)}h2{font-size:calc(var(--font-size-2xl) * .8)}}*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Nunito;src:local("assets/fonts/Nunito-Regular.ttf"),url(https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700&display=swap)}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background-primary);color:var(--text-primary);line-height:var(--line-height-normal);transition:background-color var(--transition-duration) var(--transition-timing)}a{color:var(--text-link);text-decoration:none;transition:var(--transition-standard)}a:hover{color:var(--text-link-hover)}button{cursor:pointer;font-family:inherit;border:none;background:none;transition:var(--transition-standard)}img{max-width:100%;height:auto}::selection{background-color:var(--color-accent-light);color:var(--text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--border-radius-pill);border:2px solid var(--color-background-primary)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:focus-visible{outline:2px solid var(--color-accent-light);outline-offset:3px;box-shadow:0 0 0 3px var(--color-accent-light);border-radius:var(--border-radius-xs)}.container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--container-padding);transition:padding var(--transition-duration) var(--transition-timing)}.pageContainer{width:100%;padding-top:calc(var(--navbar-height) + 50px);padding-bottom:100px;min-height:calc(100vh - var(--footer-height));position:relative;z-index:1}.page-top-spacing{padding-top:80px!important}.page-bottom-spacing{padding-bottom:100px!important}.page-spacing{padding-top:80px!important;padding-bottom:100px!important}.section{padding:var(--section-spacing) 0;transition:padding var(--transition-duration) var(--transition-timing)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root{--color-transparent: transparent;--color-primary: #5b6fe9;--color-primary-rgb: 91, 111, 233;--color-primary-hover: #4a5ed8;--color-primary-light: rgba(91, 111, 233, .2);--color-primary-translucent: rgba(91, 111, 233, .1);--color-accent: #8aa9f4;--color-accent-rgb: 138, 169, 244;--color-accent-hover: #7998e7;--color-accent-light: rgba(138, 169, 244, .2);--color-accent-lighter: #dce7ff;--color-light-bg: #ffffff;--color-light-bg-secondary: #f5f7fa;--color-light-bg-tertiary: #e9ecf3;--color-light-translucent: rgba(245, 247, 250, .8);--color-dark-bg: #1a1b26;--color-dark-bg-secondary: #393f5e;--color-dark-bg-tertiary: #2e3348;--color-dark-translucent: rgba(26, 27, 38, .8);--color-text-light: #ffffff;--color-text-dark: #24283b;--color-text-secondary: #e9f4ff;--color-text-muted-light: rgba(255, 255, 255, .7);--color-text-muted-dark: rgba(36, 40, 59, .7);--color-white: #ffffff;--color-black: #000000;--color-gray-100: #f0f2f5;--color-gray-300: #d1d5df;--color-gray-500: #8e95ac;--color-gray-700: #4a5173;--color-gray-900: #1a1b26;--color-white-transparent-20: rgba(255, 255, 255, .2);--color-white-transparent-50: rgba(255, 255, 255, .5);--color-black-transparent-20: rgba(0, 0, 0, .2);--color-black-transparent-50: rgba(0, 0, 0, .5);--color-success: #5dadad;--color-warning: #e0af68;--color-error: #db6161;--color-info: #7aa2f7}:root{--color-background-primary: var(--color-light-bg);--color-background-secondary: var(--color-light-bg-secondary);--color-background-tertiary: var(--color-light-bg-tertiary);--color-background-accent: var(--color-accent);--card-background: var(--color-white);--card-background-alt: var(--color-gray-100);--card-background-translucent: rgba(255, 255, 255, .7);--card-border: var(--color-gray-300);--card-hover-background: var(--color-gray-100);--text-primary: var(--color-text-dark);--text-secondary: var(--color-text-dark);--text-muted: var(--color-text-muted-dark);--text-accent: var(--color-primary);--text-heading: var(--color-text-dark);--text-body: var(--color-text-dark);--text-link: var(--color-primary);--text-link-hover: var(--color-primary-hover);--button-primary-background: var(--color-primary);--button-primary-text: var(--color-text-light);--button-primary-hover: var(--color-primary-hover);--button-secondary-background: var(--color-gray-300);--button-secondary-text: var(--color-text-dark);--button-secondary-hover: var(--color-gray-500);--navbar-background: var(--color-accent-lighter);--navbar-text: var(--color-text-dark);--navbar-active: var(--color-primary);--navbar-hover: var(--color-primary);--navbar-border: var(--color-primary);--footer-background: var(--color-accent-lighter);--footer-text: var(--color-text-dark);--tag-background: var(--color-primary-translucent);--tag-text: var(--color-accent);--tag-hover-background: var(--color-primary-light);--shadow-small: 0 2px 5px var(--color-black-transparent-20);--shadow-medium: 0 4px 6px var(--color-black-transparent-20);--shadow-large: 0 10px 20px var(--color-black-transparent-20);--glow-primary: 0 0 15px rgba(var(--color-primary-rgb), .3);--input-background: var(--color-white);--input-border: var(--color-gray-300);--input-text: var(--color-text-dark);--input-focus-border: var(--color-primary);--overlay-background: var(--color-black-transparent-50);--modal-background: var(--card-background);--modal-border: var(--card-border);--status-success: var(--color-success);--status-warning: var(--color-warning);--status-error: var(--color-error);--status-info: var(--color-info)}.dark{--color-background-primary: var(--color-dark-bg);--color-background-secondary: var(--color-dark-bg-secondary);--color-background-tertiary: var(--color-dark-bg-tertiary);--color-background-accent: var(--color-accent);--card-background: var(--color-dark-bg-secondary);--card-background-alt: var(--color-dark-bg-tertiary);--card-background-translucent: var(--color-dark-translucent);--card-border: var(--color-white-transparent-20);--card-hover-background: var(--color-gray-700);--text-primary: var(--color-text-light);--text-secondary: var(--color-white);--text-muted: var(--color-text-muted-light);--text-accent: var(--color-accent);--text-heading: var(--color-white);--text-body: var(--color-white);--text-link: var(--color-accent);--text-link-hover: var(--color-accent-hover);--button-primary-background: var(--color-primary);--button-primary-text: var(--color-text-light);--button-primary-hover: var(--color-primary-hover);--button-secondary-background: var(--color-dark-translucent);--button-secondary-text: var(--color-text-light);--button-secondary-hover: var(--color-dark-bg-tertiary);--navbar-background: var(--color-dark-bg);--navbar-text: var(--color-text-light);--navbar-active: var(--color-accent);--navbar-hover: var(--color-accent);--navbar-border: var(--color-accent);--footer-background: var(--color-dark-bg);--footer-text: var(--color-text-light);--tag-background: var(--color-primary-translucent);--tag-text: var(--color-accent);--tag-hover-background: var(--color-primary-light);--input-background: var(--color-white-transparent-20);--input-border: var(--color-white-transparent-50);--input-text: var(--color-text-light);--input-focus-border: var(--color-accent);--shadow-small: 0 2px 5px var(--color-black-transparent-50);--shadow-medium: 0 4px 6px var(--color-black-transparent-50);--shadow-large: 0 10px 20px var(--color-black-transparent-50);--glow-primary: 0 0 15px rgba(var(--color-accent-rgb), .3);--status-success: var(--color-success);--status-warning: var(--color-warning);--status-error: var(--color-error);--status-info: var(--color-info)}@media (prefers-color-scheme: dark){:root.system-theme{--color-background-primary: var(--color-dark-bg);--color-background-secondary: var(--color-dark-bg-secondary);--color-background-tertiary: var(--color-dark-bg-tertiary);--card-background: var(--color-dark-bg-secondary);--card-background-translucent: var(--color-dark-translucent);--card-hover-background: var(--color-gray-700)}}:root{--spacing-unit: 8px;--spacing-xs: calc(var(--spacing-unit) * .5);--spacing-sm: var(--spacing-unit);--spacing-md: calc(var(--spacing-unit) * 1.5);--spacing-lg: calc(var(--spacing-unit) * 2);--spacing-xl: calc(var(--spacing-unit) * 3);--spacing-2xl: calc(var(--spacing-unit) * 4);--spacing-3xl: calc(var(--spacing-unit) * 6);--navbar-height: 52px;--content-max-width: 1200px;--content-width-narrow: 740px;--content-width-medium: 960px;--container-padding: var(--spacing-lg);--section-spacing: var(--spacing-3xl);--subsection-spacing: var(--spacing-2xl);--grid-gap: var(--spacing-lg);--grid-gap-lg: var(--spacing-xl);--border-radius-xs: 3px;--border-radius-sm: 6px;--border-radius-md: 9px;--border-radius-lg: 12px;--border-radius-pill: 100px;--border-radius-circle: 50%;--z-index-base: 1;--z-index-dropdown: 100;--z-index-sticky: 500;--z-index-fixed: 700;--z-index-modal: 900;--z-index-tooltip: 1000;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--transition-duration-fast: .12s;--transition-duration: .24s;--transition-duration-slow: .4s;--transition-timing: cubic-bezier(.25, .1, .25, 1);--transition-standard: all var(--transition-duration) var(--transition-timing);--transition-smooth: all var(--transition-duration-slow) cubic-bezier(.4, 0, .2, 1)}@media (max-width: 768px){:root{--container-padding: var(--spacing-md);--section-spacing: var(--spacing-2xl);--grid-gap: var(--spacing-md)}}:root{--font-primary: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-secondary: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Roboto Mono", Consolas, monospace;--font-size-base: 15px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-smmd: .9375rem;--font-size-md: 1rem;--font-size-lg: 1.067rem;--font-size-xl: 1.2rem;--font-size-2xl: 1.4rem;--font-size-3xl: 1.6rem;--font-size-4xl: 2rem;--font-size-5xl: 2.4rem;--font-size-6xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 650;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--line-height-loose: 1.8;--letter-spacing-tighter: -.03em;--letter-spacing-tight: -.015em;--letter-spacing-normal: 0;--letter-spacing-wide: .015em;--letter-spacing-wider: .03em;--heading-font-family: var(--font-primary);--heading-color: var(--text-heading);--heading-font-weight: var(--font-weight-bold);--heading-line-height: var(--line-height-tight);--h1-font-size: var(--font-size-4xl);--h2-font-size: var(--font-size-3xl);--h3-font-size: var(--font-size-2xl);--h4-font-size: var(--font-size-xl);--h5-font-size: var(--font-size-lg);--h6-font-size: var(--font-size-md);--paragraph-font-size: var(--font-size-md);--paragraph-line-height: var(--line-height-normal);--paragraph-margin-bottom: var(--spacing-md)}@media (max-width: 768px){:root{--font-size-base: 14px;--h1-font-size: var(--font-size-3xl);--h2-font-size: var(--font-size-2xl);--h3-font-size: var(--font-size-xl)}}body{font-family:var(--font-primary);font-size:var(--font-size-md);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--heading-font-family);font-weight:var(--heading-font-weight);line-height:var(--heading-line-height);margin-top:0;margin-bottom:var(--spacing-md);color:var(--heading-color)}h1{font-size:var(--h1-font-size)}h2{font-size:var(--h2-font-size)}h3{font-size:var(--h3-font-size)}h4{font-size:var(--h4-font-size)}h5{font-size:var(--h5-font-size)}h6{font-size:var(--h6-font-size)}p{margin-top:0;margin-bottom:var(--paragraph-margin-bottom);font-size:var(--paragraph-font-size);line-height:var(--paragraph-line-height)}:export{theme:"default"}:root.palette-blue{--color-primary: #5b6fe9;--color-primary-rgb: 91, 111, 233;--color-primary-hover: #4a5ed8;--color-primary-light: rgba(91, 111, 233, .2);--color-primary-translucent: rgba(91, 111, 233, .1);--color-accent: #8aa9f4;--color-accent-rgb: 138, 169, 244;--color-accent-hover: #7998e7;--color-accent-light: rgba(138, 169, 244, .2);--color-accent-lighter: #dce7ff;--color-light-bg: #ffffff;--color-light-bg-secondary: #f5f7fa;--color-light-bg-tertiary: #e9ecf3;--color-light-translucent: rgba(245, 247, 250, .8);--color-dark-bg: #1a1b26;--color-dark-bg-secondary: #393f5e;--color-dark-bg-tertiary: #2e3348;--color-dark-translucent: rgba(26, 27, 38, .8);--color-text-light: #ffffff;--color-text-dark: #24283b;--color-text-secondary: #e9f4ff;--color-text-muted-light: rgba(255, 255, 255, .7);--color-text-muted-dark: rgba(36, 40, 59, .7);--color-white: #ffffff;--color-black: #000000;--color-gray-100: #f0f2f5;--color-gray-300: #d1d5df;--color-gray-500: #8e95ac;--color-gray-700: #4a5173;--color-gray-900: #1a1b26;--color-white-transparent-20: rgba(255, 255, 255, .2);--color-white-transparent-50: rgba(255, 255, 255, .5);--color-black-transparent-20: rgba(0, 0, 0, .2);--color-black-transparent-50: rgba(0, 0, 0, .5);--color-success: #5dadad;--color-warning: #e0af68;--color-error: #db6161;--color-info: #7aa2f7}._socialLinks_cq3w8_2{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);align-items:center;justify-content:center;width:100%}._socialLinks_cq3w8_2 a{color:var(--text-heading);transition:all .2s var(--transition-timing);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-circle);background-color:transparent;border:1px solid var(--text-heading)}._socialLinks_cq3w8_2 a:hover{color:var(--color-accent);transform:translateY(-2px);background-color:var(--color-accent-light);border-color:var(--color-accent-light);box-shadow:0 2px 5px rgba(var(--color-accent-rgb),.15)}._small_cq3w8_31{width:30px;height:30px;font-size:var(--font-size-md)}._medium_cq3w8_37{width:40px;height:40px;font-size:var(--font-size-xl)}._large_cq3w8_43{width:50px;height:50px;font-size:var(--font-size-2xl)}._blueskyIcon_cq3w8_50{width:25px;height:25px;filter:brightness(0) invert(.6);transition:all .2s var(--transition-timing)}._blueskyLink_cq3w8_57:hover ._blueskyIcon_cq3w8_50{filter:brightness(0) invert(.4) sepia(1) saturate(5) hue-rotate(180deg)}@media (max-width: var(--breakpoint-md)){._large_cq3w8_43{width:45px;height:45px;font-size:var(--font-size-xl)}._medium_cq3w8_37{width:35px;height:35px;font-size:var(--font-size-lg)}._small_cq3w8_31{width:28px;height:28px;font-size:var(--font-size-md)}}._fullWidthContainer_lov8g_2{width:100%;display:flex;flex-direction:column;align-items:center}._section_lov8g_10{width:100%;display:flex;justify-content:center;align-items:center;padding:var(--section-spacing) var(--container-padding);margin:0;min-height:40vh}._sectionContent_lov8g_20{width:100%;max-width:var(--content-max-width);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:var(--z-index-base);flex:1}._introSection_lov8g_33{background-color:transparent;color:var(--text-primary);min-height:100vh;height:calc(100vh - var(--navbar-height));display:flex;align-items:center;justify-content:center;padding-top:calc(var(--navbar-height) + var(--spacing-2xl));padding-bottom:var(--section-spacing);position:relative}._aboutMeSection_lov8g_49{background-color:var(--color-background-primary);color:var(--text-primary);min-height:60vh;margin-top:0;padding:var(--section-spacing) var(--container-padding);display:flex;align-items:center;justify-content:center}._contactSection_lov8g_61{background-color:var(--color-accent-light);color:var(--text-primary);min-height:40vh;padding:var(--section-spacing) var(--container-padding);position:relative;overflow:hidden;margin-bottom:0;display:flex;align-items:center;justify-content:center}._section_lov8g_10:last-of-type{margin-bottom:0;padding-bottom:0}._profileImage_lov8g_80{width:160px;height:160px;border-radius:var(--border-radius-circle);object-fit:cover;margin-bottom:var(--spacing-xl);border:6px solid var(--color-accent);box-shadow:0 0 15px rgba(var(--color-accent-rgb),.2);transition:all .3s var(--transition-timing)}._profileImage_lov8g_80:hover{transform:scale(1.02);box-shadow:0 0 20px rgba(var(--color-accent-rgb),.3)}._title_lov8g_97{font-size:var(--font-size-6xl);margin-bottom:var(--spacing-md);text-align:center;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);position:relative;display:inline-block;color:var(--text-heading)}._title_lov8g_97:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:70px;height:3px;background-color:var(--color-accent);border-radius:3px}._subtitle_lov8g_120{font-size:var(--font-size-2xl);max-width:var(--content-width-narrow);text-align:center;margin-bottom:var(--spacing-lg);line-height:var(--line-height-relaxed);color:var(--text-heading);letter-spacing:var(--letter-spacing-wide)}._projectsGrid_lov8g_131{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);width:100%;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}@media (max-width: 767px){._projectsGrid_lov8g_131{grid-template-columns:1fr}}@media (min-width: 1440px){._projectsGrid_lov8g_131{grid-template-columns:repeat(2,1fr)}}._aboutText_lov8g_153{max-width:var(--content-width-narrow);text-align:left}h3{margin-top:var(--spacing-3xl);margin-bottom:var(--spacing-2xl);font-size:var(--font-size-2xl);color:var(--text-heading);font-weight:var(--font-weight-semibold)}._contactButtonContainer_lov8g_169{display:flex;justify-content:center;margin:var(--spacing-xl) 0;position:relative;z-index:2}._viewMoreContainer_lov8g_179{text-align:center;margin-top:var(--spacing-3xl);margin-bottom:var(--spacing-3xl)}._leafContainer_lov8g_186{width:100%;height:100%;position:absolute;top:0;left:0;right:0;z-index:1;overflow:hidden;background:linear-gradient(to right,var(--color-accent-light),rgba(var(--color-accent-rgb),.4))}@media (max-width: var(--breakpoint-md)){._title_lov8g_97{font-size:2rem}._subtitle_lov8g_120{font-size:1.1rem}._profileImage_lov8g_80{width:120px;height:120px}._section_lov8g_10{padding:60px 20px}._leafContainer_lov8g_186{height:70vh}}.horizontal-card{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--card-background);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--border-radius-md);box-shadow:var(--shadow-small);transition:transform .25s var(--transition-timing),box-shadow .25s var(--transition-timing),border-color .25s var(--transition-timing);color:inherit;border:1px solid var(--card-border);position:relative;border-left:2px solid transparent;z-index:var(--z-index-base);padding:var(--spacing-md)}.horizontal-card:hover,.card-hovered{transform:translateY(-2px);box-shadow:var(--shadow-medium);background:var(--card-hover-background);border-left:2px solid var(--color-accent);z-index:var(--z-index-dropdown);opacity:1!important}.horizontal-card-inner{display:flex;flex-direction:row;height:100%;flex:1}.horizontal-card-left-column{width:40%;display:flex;flex-direction:column;position:relative}.horizontal-card-right-column{width:60%;display:flex;flex-direction:column}.horizontal-card-image-container{height:8rem;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);background:rgba(var(--color-accent-rgb),.05);padding:.25rem}.horizontal-card-image{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;filter:brightness(.98);z-index:2;max-height:7.5rem}.horizontal-card:hover .horizontal-card-image{transform:scale(1.05);filter:brightness(1)}.horizontal-card-title{padding:8px 12px;margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.2;color:var(--text-heading)}.horizontal-card-content{padding:12px;display:flex;flex-direction:column;flex-grow:1;position:relative;z-index:1}.horizontal-card-description{margin-bottom:8px;font-size:var(--font-size-md);color:var(--text-secondary);line-height:var(--line-height-normal);flex-grow:1}.horizontal-card-tags{padding:0 12px 12px;margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.horizontal-card-tag{display:inline-flex;align-items:center;background-color:var(--color-accent-light);color:var(--text-body);padding:3px 8px;border-radius:var(--border-radius-pill);font-size:var(--font-size-xs);cursor:pointer;transition:var(--transition-standard);margin-right:4px;margin-bottom:4px;border:1px solid var(--color-accent);position:relative}.horizontal-card-tag-prefix{color:var(--text-body);font-weight:var(--font-weight-bold);margin-right:2px;opacity:.9}.horizontal-card-tag:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);border-color:var(--color-accent);position:relative;z-index:2}.horizontal-card-tag:hover .horizontal-card-tag-prefix{color:var(--color-white);opacity:1}.horizontal-card-tag.selected{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);font-weight:var(--font-weight-medium);transform:translateY(-1px);position:relative;z-index:2}.horizontal-card-tag.selected .horizontal-card-tag-prefix{color:var(--color-white);opacity:1}.horizontal-card-tag.selected:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 3px 5px rgba(var(--color-accent-rgb),.35)}.card-icon{display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden;position:relative;z-index:1;background-color:rgba(var(--color-accent-rgb),.08);color:var(--color-accent);font-size:var(--font-size-2xl);transition:all .3s var(--transition-timing);padding:0}.horizontal-card:hover .card-icon{transform:scale(1.02);background-color:rgba(var(--color-accent-rgb),.12)}.dark .horizontal-card{background:var(--card-background)}.dark .horizontal-card:hover,.dark .card-hovered{background:var(--card-hover-background)}@media (max-width: 767px){.horizontal-card-content{padding:var(--spacing-sm)}.horizontal-card-tags{padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md)}.horizontal-card-inner{flex-direction:column}.horizontal-card-left-column,.horizontal-card-right-column{width:100%}.horizontal-card-image-container{height:8rem}}.card{composes:horizontal-card}._tag_u5pzs_2{display:inline-flex;align-items:center;background-color:var(--color-accent-light);color:var(--text-body);padding:2px 6px;border-radius:var(--border-radius-pill);font-size:var(--font-size-xs);transition:var(--transition-standard);border:1px solid var(--color-accent);margin-right:4px;margin-bottom:4px;cursor:pointer;position:relative}._prefix_u5pzs_18{color:var(--text-body);font-weight:var(--font-weight-bold);margin-right:2px;opacity:.9}._tag_u5pzs_2:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);border-color:var(--color-accent)}._tag_u5pzs_2:hover ._prefix_u5pzs_18{color:var(--color-white);opacity:1}._selected_u5pzs_38{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2);font-weight:var(--font-weight-medium);transform:translateY(-1px)}._selected_u5pzs_38 ._prefix_u5pzs_18{color:var(--color-white);opacity:1}._selected_u5pzs_38:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 3px 5px rgba(var(--color-accent-rgb),.35)}@media (max-width: 768px){._tag_u5pzs_2{margin-bottom:3px;margin-right:3px}}._featuredSection_16d7d_2{width:100%;padding:var(--section-spacing) var(--container-padding);background-color:var(--color-primary-light);background-image:linear-gradient(180deg,var(--color-primary-light),var(--color-background-secondary));display:flex;justify-content:center;position:relative;overflow:hidden;border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);box-shadow:inset 0 0 30px #ffffff1a;margin:0}:root:not(._dark_16d7d_22) ._featuredSection_16d7d_2{background-color:var(--color-background-secondary);background-image:linear-gradient(180deg,var(--color-background-secondary),var(--color-background-primary));box-shadow:inset 0 0 30px #0000000d}._featuredSection_16d7d_2{position:relative}._featuredContent_16d7d_37{width:100%;box-sizing:border-box;position:relative;z-index:3;padding:0}._sectionSubtitle_16d7d_45{text-align:center;font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:var(--letter-spacing-wide);max-width:650px;margin-left:auto;margin-right:auto}._projectsGrid_16d7d_56{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);width:100%;box-sizing:border-box;margin-bottom:var(--spacing-xl)}._viewMoreContainer_16d7d_65{text-align:center;margin-top:var(--spacing-xl)}@media (max-width: 767px){._projectsGrid_16d7d_56{grid-template-columns:1fr;gap:var(--spacing-md)}}@media (min-width: 1024px){._projectsGrid_16d7d_56{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){._sectionSubtitle_16d7d_45{font-size:var(--font-size-sm)}}._gridBackground_1xf5d_2{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}._gridSvg_1xf5d_13{position:absolute;top:0;left:0;width:100%;height:100%}:root:not(._dark_1xf5d_22) ._gridLightTheme_1xf5d_22{opacity:.75}:root._dark_1xf5d_22 ._gridDarkTheme_1xf5d_26{opacity:.85}@keyframes _subtleFloat_1xf5d_1{0%{transform:translateY(0) translate(0)}50%{transform:translateY(-5px) translate(5px)}to{transform:translateY(0) translate(0)}}._animatedGrid_1xf5d_43{animation:_subtleFloat_1xf5d_1 20s ease-in-out infinite;animation-play-state:paused}._animatedGrid_1xf5d_43._active_1xf5d_48{animation-play-state:running}@media (max-width: 768px){._gridBackground_1xf5d_2{opacity:.8}}._actionButton_2rqgf_2{display:inline-flex;align-items:center;justify-content:center;background:var(--button-primary-background);color:var(--button-primary-text);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-pill);text-decoration:none;font-weight:var(--font-weight-medium);transition:all .25s var(--transition-timing);box-shadow:var(--shadow-small);border:none;outline:none;cursor:pointer;font-family:inherit;font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-wide)}._smallButton_2rqgf_23{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}._actionButton_2rqgf_2:hover{background:var(--button-primary-hover);color:var(--button-primary-text)!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-accent-rgb),.2)}._actionButton_2rqgf_2:focus{box-shadow:0 0 0 2px var(--color-accent-light),0 0 0 4px var(--color-accent)}._actionButton_2rqgf_2:active{transform:translateY(0)}:root:not(._dark_2rqgf_45) ._actionButton_2rqgf_2{box-shadow:0 2px 6px #0000001a}:root:not(._dark_2rqgf_45) ._actionButton_2rqgf_2:hover{box-shadow:0 4px 12px #00000026;color:#fff!important}@media (max-width: 768px){._actionButton_2rqgf_2:not(._smallButton_2rqgf_23){padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}._smallButton_2rqgf_23{padding:var(--spacing-2xs) var(--spacing-sm);font-size:var(--font-size-xs)}}._titleContainer_puev4_3{text-align:center;width:100%;display:flex;flex-direction:column;align-items:center}._titleContainerLeft_puev4_11{text-align:left;width:100%;display:flex;flex-direction:column;align-items:flex-start}._title_puev4_3{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-sm);text-align:center;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);position:relative;display:inline-block;color:var(--text-heading)}._title_puev4_3:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:70px;height:3px;background-color:var(--color-accent);border-radius:3px}._noUnderline_puev4_42:after{display:none}._titleContainerLeft_puev4_11 ._title_puev4_3{text-align:left}._titleContainerLeft_puev4_11 ._title_puev4_3:after{left:0;transform:none}._subtitle_puev4_55{font-size:var(--font-size-xl);max-width:var(--content-width-narrow);text-align:center;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed);color:var(--text-heading);letter-spacing:var(--letter-spacing-wide)}._titleContainerLeft_puev4_11 ._subtitle_puev4_55,._subtitleContainerLeft_puev4_67 ._subtitle_puev4_55{text-align:left}._sectionContent_puev4_71{width:100%;max-width:var(--content-max-width);display:flex;flex-direction:column;align-items:center;position:relative;z-index:var(--z-index-base)}._sectionContentLeft_puev4_81,._subtitleContainerLeft_puev4_67{align-items:flex-start}@media (max-width: var(--breakpoint-md)){._title_puev4_3{font-size:var(--font-size-4xl)}._subtitle_puev4_55{font-size:var(--font-size-lg)}}@media (max-width: var(--breakpoint-sm)){._title_puev4_3{font-size:var(--font-size-3xl)}._subtitle_puev4_55{font-size:var(--font-size-md)}}.card-list-container{width:100%;margin:var(--spacing-md) 0}.card-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:var(--content-width-narrow);margin-top:var(--spacing-lg)}.card-item{background-color:rgba(var(--color-accent-rgb),.3);border-left:3px solid var(--color-accent);border-radius:var(--border-radius-md);transition:transform .25s var(--transition-timing),background-color .25s var(--transition-timing),box-shadow .25s var(--transition-timing);box-shadow:var(--shadow-small);overflow:hidden;position:relative;cursor:pointer}.card-item:hover{transform:translateY(-2px);background-color:rgba(var(--color-accent-rgb),.5);box-shadow:var(--shadow-medium)}.card-link{text-decoration:none;color:inherit!important;display:block;padding:var(--spacing-lg) var(--spacing-lg);height:100%;width:100%;cursor:pointer;box-sizing:border-box}.card-link:hover,a.card-link:hover,.card-item a,.card-item a:hover{color:inherit!important;text-decoration:none}.card-content,.publication-citation{font-size:var(--font-size-md);line-height:1.6;margin:0;padding:0}@media (max-width: 768px){.publication-citation{font-size:var(--font-size-sm)}}.journal-name{font-style:italic}.feature-title{font-weight:var(--font-weight-bold);margin-right:var(--spacing-xs);display:inline-block}@media (max-width: 768px){.card-link{padding:var(--spacing-xs) var(--spacing-sm)}.card-content{font-size:var(--font-size-sm)}}@media (max-width: 576px){.card-list{margin-top:var(--spacing-md)}.card-item{margin-bottom:var(--spacing-sm)}}._canvasBackground_bygg5_2{position:absolute;top:0;left:0;right:0;width:100%;height:100%;z-index:var(--z-index-base);background:linear-gradient(to bottom,var(--color-background-secondary),var(--color-background-primary));touch-action:none;pointer-events:auto}._scrollButton_utbjp_2{display:inline-block;background:var(--button-secondary-background);color:var(--button-secondary-text);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-pill);cursor:pointer;transition:var(--transition-standard);font-size:var(--font-size-lg);margin-top:var(--spacing-3xl);border:2px solid var(--text-secondary);outline:none;box-shadow:var(--shadow-small);line-height:1.2}._scrollButton_utbjp_2:hover{background:var(--button-secondary-hover);transform:translateY(3px);border-color:var(--color-accent);box-shadow:var(--shadow-medium)}._primary_utbjp_26{background:var(--button-primary-background);color:var(--button-primary-text)}._primary_utbjp_26:hover{background:var(--button-primary-hover)}._down_utbjp_36:after{content:" ↓";font-size:.9em}._up_utbjp_41:after{content:" ↑";font-size:.9em}._right_utbjp_46:after{content:" →";font-size:.9em}._left_utbjp_51:after{content:" ←";font-size:.9em}._small_utbjp_57{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md);border-width:1px;margin-top:var(--spacing-xl)}._medium_utbjp_64{font-size:var(--font-size-md);padding:var(--spacing-sm) var(--spacing-lg);border-width:2px}._large_utbjp_70{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-xl);border-width:2px}@media (max-width: var(--breakpoint-md)){._scrollButton_utbjp_2{font-size:var(--font-size-md);padding:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-xl)}._small_utbjp_57{font-size:var(--font-size-xs);padding:var(--spacing-xxs) var(--spacing-sm)}}._contactSection_10ya8_2{background-color:var(--color-background-secondary);position:relative;overflow:hidden}._contactContent_10ya8_12{position:relative;z-index:2;color:var(--text-primary);padding:0}._contactTitle_10ya8_19{position:relative;display:inline-block}._contactTitle_10ya8_19:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:70px;height:3px;background-color:var(--color-accent);border-radius:3px}._contactSubtitle_10ya8_36{margin-top:var(--spacing-md);max-width:600px}._contactText_10ya8_41{text-align:center}@media (max-width: 768px){._contactSection_10ya8_2{padding:var(--spacing-xl) var(--spacing-md)}}.quarto-frame+.back-to-blog-button,iframe.quarto-frame~.back-to-blog-button,iframe.quarto-frame+.back-to-blog-button,iframe[src^="/quarto-html/"]~.back-to-blog-button,.quarto-container iframe~.back-to-blog-button,a.back-to-blog-button{display:none!important}.quarto-page-container{position:relative;width:100%;height:100vh;overflow:hidden;background-color:var(--color-background-primary)}.quarto-controls-section{margin-bottom:var(--spacing-2xl);position:relative;z-index:var(--z-index-base);background:var(--card-background-translucent);padding:var(--spacing-lg);border-radius:var(--border-radius-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--card-border);box-shadow:var(--shadow-medium)}.quarto-container{width:100%;height:100vh;margin:0;padding:0;display:flex;flex-direction:column;background-color:var(--color-background-primary);color:var(--text-primary);overflow:hidden}.quarto-list-container{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);color:var(--text-primary)}.quarto-header{text-align:center;margin-bottom:var(--spacing-lg)}.quarto-header h1{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-xs)}.quarto-header p{color:var(--text-secondary);font-size:var(--font-size-lg)}.no-documents{text-align:center;padding:var(--spacing-2xl);background:var(--card-background-translucent);border-radius:var(--border-radius-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-medium);border:1px solid var(--card-border)}.no-documents p{color:var(--text-secondary);font-size:var(--font-size-lg)}.clear-filter-button{background:var(--button-primary-background);color:var(--button-primary-text);border:1px solid var(--color-primary-light);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);margin-top:var(--spacing-md);cursor:pointer;transition:var(--transition-standard);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-small)}.clear-filter-button:hover{background:var(--button-primary-hover);transform:translateY(-2px);box-shadow:var(--glow-primary);border-color:var(--color-primary)}.documents-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%;height:fit-content;margin-bottom:var(--spacing-xl)}@media (max-width: 767px){.documents-grid{grid-template-columns:1fr}.horizontal-card-inner{flex-direction:column!important}.horizontal-card-left-column,.horizontal-card-right-column{width:100%!important}.horizontal-card-image-container{height:180px!important}}@media (min-width: 1440px){.documents-grid{grid-template-columns:repeat(2,1fr)}}.document-card{height:100%;display:flex;flex-direction:column}.document-card .horizontal-card-inner{display:flex;flex-direction:row;flex:1}.document-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:rgba(var(--color-accent-rgb),.08);color:var(--color-accent);font-size:3rem}.document-info{padding:12px;display:flex;flex-direction:column;flex-grow:1}.document-card-link{display:flex;flex-direction:row;flex:1;text-decoration:none;color:inherit}.document-tags{padding:0 12px 12px;margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.document-tag{display:inline-flex;align-items:center;background:var(--color-accent, #5b6fe9);color:#fff;padding:4px 12px;border-radius:16px;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;margin-right:4px;margin-bottom:4px}.document-tag:hover{background:var(--color-accent-hover, #4a5ed8);transform:translateY(-1px);box-shadow:0 3px 6px #0003}.view-more-button{display:inline-flex;align-items:center;justify-content:center;background:var(--button-primary-background);color:var(--button-primary-text);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--border-radius-pill);text-decoration:none;font-weight:var(--font-weight-medium);transition:all .25s var(--transition-timing);box-shadow:var(--shadow-small);letter-spacing:var(--letter-spacing-wide);border:none;cursor:pointer}.view-more-button:hover{background:var(--button-primary-hover);transform:translateY(-2px);box-shadow:0 3px 8px rgba(var(--color-primary-rgb),.3)}.quarto-footer{margin-top:var(--spacing-xl);text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--card-border);color:var(--text-secondary);font-size:var(--font-size-sm)}.quarto-footer a{color:var(--color-primary);text-decoration:none}.quarto-footer a:hover{text-decoration:underline}.quarto-frame{width:100%;height:100vh;border:none;display:block;overflow:auto;background-color:var(--color-background-primary)}.quarto-back-button{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--color-primary);color:var(--button-primary-text);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-pill);cursor:pointer;transition:all .25s var(--transition-timing);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);border:none;outline:none;text-decoration:none;z-index:9999;box-shadow:var(--shadow-medium)}.quarto-back-button:before{content:"↑";display:inline-block;margin-right:var(--spacing-xs);font-size:var(--font-size-lg);line-height:1}.quarto-back-button:hover{background:var(--button-primary-hover);transform:translateY(-3px);box-shadow:var(--glow-primary)}.back-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background-color:var(--button-primary-background);color:var(--button-primary-text);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);text-decoration:none}.back-button:hover{background-color:var(--button-primary-hover)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) 0}.loading-spinner{border:4px solid var(--card-border);border-top:4px solid var(--color-accent);border-radius:50%;width:50px;height:50px;animation:spin .8s linear infinite;margin-bottom:var(--spacing-md);box-shadow:0 0 10px rgba(var(--color-accent-rgb),.2)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) 0;min-height:300px}.loading-container p{color:var(--text-secondary);font-size:var(--font-size-md);margin-top:var(--spacing-sm)}.error{text-align:center;padding:var(--spacing-lg);color:var(--status-error)}@media (max-width: 767px){.documents-grid{grid-template-columns:1fr;gap:16px}.quarto-container{padding:0}.back-button{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.quarto-back-button{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);top:var(--spacing-sm);right:var(--spacing-sm)}.quarto-content-wrapper{padding:10px}}@media (max-width: 767px){.quarto-back-button:before{font-size:var(--font-size-md);margin-right:0}}._projectsContainer_nyt1g_2{width:100%;padding-top:var( --spacing-lg );position:relative;z-index:1}._headerSection_nyt1g_11{text-align:center;margin-bottom:var(--spacing-xl);position:relative;z-index:var(--z-index-base)}._title_nyt1g_18{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);color:var(--text-heading);position:relative;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}._subtitle_nyt1g_27{font-size:var(--font-size-md);color:var(--text-secondary);letter-spacing:var(--letter-spacing-wide);max-width:650px;margin-left:auto;margin-right:auto}._controlsSection_nyt1g_36{margin-bottom:var(--spacing-xl);position:relative;z-index:var(--z-index-base);background:var(--card-background);padding:var(--spacing-lg);border-radius:var(--border-radius-md);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--card-border);box-shadow:var(--shadow-small);transition:box-shadow .25s var(--transition-timing)}._projectsGrid_nyt1g_50{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);width:100%;height:fit-content;margin-bottom:var(--spacing-xl)}._projectItem_nyt1g_59{height:100%;display:flex;min-height:220px;margin-bottom:var(--spacing-sm)}._noResults_nyt1g_66{text-align:center;padding:var(--spacing-xl);background:var(--card-background);border-radius:var(--border-radius-md);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-small);border:1px solid var(--card-border)}._noResults_nyt1g_66 p{color:var(--text-secondary);font-size:var(--font-size-md)}._activeFilter_nyt1g_82{display:flex;align-items:center;justify-content:center;margin:var(--spacing-lg) 0;font-size:var(--font-size-sm);color:var(--text-secondary)}._activeTag_nyt1g_91{display:inline-flex;align-items:center;margin-left:var(--spacing-sm);background:var(--color-accent);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-pill);border:1px solid var(--color-accent);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s var(--transition-timing);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.2)}._activeTag_nyt1g_91:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 3px 6px rgba(var(--color-accent-rgb),.3);border-color:var(--color-accent-hover)}@media (max-width: 767px){._projectsGrid_nyt1g_50{grid-template-columns:1fr}}@media (max-width: 768px){._title_nyt1g_18{font-size:var(--font-size-2xl)}._subtitle_nyt1g_27{font-size:var(--font-size-sm)}._controlsSection_nyt1g_36{padding:var(--spacing-md)}}._clearFilterButton_nyt1g_140{background:var(--color-accent-light);color:var(--color-accent);border:1px solid rgba(var(--color-accent-rgb),.2);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-pill);margin-top:var(--spacing-md);cursor:pointer;transition:all .2s var(--transition-timing);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:var(--shadow-small);font-size:var(--font-size-sm)}._clearFilterButton_nyt1g_140:hover{background:var(--color-accent);color:var(--color-white);transform:translateY(-1px);box-shadow:0 3px 6px rgba(var(--color-accent-rgb),.2);border-color:var(--color-accent)}._activeTags_nyt1g_163{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}._clearAllButton_nyt1g_169{background:transparent;border:1px solid var(--card-border);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-pill);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s var(--transition-timing);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}._clearAllButton_nyt1g_169:hover{background:var(--color-accent-light);color:var(--color-accent);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.15);border-color:var(--color-accent-light)}._controlsSection_nyt1g_36:hover{box-shadow:var(--shadow-medium)}._timelineContainer_8n26r_3{position:relative;margin:var(--spacing-xl) 0;width:100%;max-width:var(--content-width-narrow);padding-bottom:var(--spacing-xl);border-radius:var(--border-radius-lg)}._timelineContainer_8n26r_3:before{display:none}._timelineEntry_8n26r_16{position:relative;display:block;width:100%;text-align:left;margin:0 0 var(--spacing-lg) 0;opacity:1;transition:all .25s var(--transition-timing);cursor:default;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-md) 130px;border-radius:var(--border-radius-md);background-color:var(--card-background);border:1px solid var(--card-border)}._timelineEntry_8n26r_16:hover{transform:translateY(-5px);background-color:var(--card-hover-background);border-color:var(--color-primary-light);box-shadow:var(--shadow-large);opacity:1!important;z-index:var(--z-index-dropdown)}._dimmedEntry_8n26r_40{opacity:.6;transition:all .25s var(--transition-timing)}._timelineEntry_8n26r_16:hover{z-index:var(--z-index-dropdown)}._timelineEntry_8n26r_16:hover:before{background-color:var(--color-accent);box-shadow:0 0 15px rgba(var(--color-accent-rgb),.5);transform:scale(1.2);border-color:var(--color-white)}._dimmedEntry_8n26r_40:before{opacity:1}._timelineEntry_8n26r_16:last-of-type{margin-bottom:var(--spacing-xl)}._timelineEntry_8n26r_16:before{content:"";position:absolute;width:16px;height:16px;background-color:var(--color-accent);border-radius:var(--border-radius-circle);left:81px;top:20px;border:2px solid var(--text-heading);z-index:3;transition:all .25s var(--transition-timing);opacity:1}._timelineLineSegment_8n26r_81{position:absolute;left:89px;top:35px;width:2px;background-color:var(--text-heading);opacity:.5;height:calc(100% + 5px);z-index:1;transition:all .25s var(--transition-timing)}._timelineEntry_8n26r_16:hover ._timelineLineSegment_8n26r_81{background:var(--color-accent);opacity:1;box-shadow:0 0 8px rgba(var(--color-accent-rgb),.5);width:3px;z-index:1;height:calc(100% - 35px)}._dimmedEntry_8n26r_40 ._timelineLineSegment_8n26r_81{opacity:.4}._timelineEntry_8n26r_16:last-child ._timelineLineSegment_8n26r_81{height:calc(100% - 35px)}._timelineHalo_8n26r_112{position:absolute;width:10px;height:10px;border-radius:var(--border-radius-circle);background-color:var(--text-heading);opacity:.3;left:85px;top:23px;z-index:2;transition:all .25s var(--transition-timing);pointer-events:none}._timelineEntry_8n26r_16:hover ._timelineHalo_8n26r_112{background-color:var(--color-accent);transform:scale(1.2);box-shadow:0 0 6px rgba(var(--color-accent-rgb),.5);z-index:2;width:14px;height:14px;left:83px;top:21px;opacity:.7}._timelineYear_8n26r_138{position:absolute;left:15px;top:var(--spacing-md);font-size:var(--font-size-md);color:var(--text-heading);font-weight:var(--font-weight-medium);background-color:transparent;padding:2px 8px;border-radius:var(--border-radius-sm)}._timelineContent_8n26r_150{margin-bottom:var(--spacing-xs)}._timelineHeader_8n26r_154{margin-bottom:var(--spacing-xs);color:var(--text-heading);transition:var(--transition-standard)}._timelineEntry_8n26r_16:hover ._timelineHeader_8n26r_154{color:var(--color-primary-light)}._dimmedEntry_8n26r_40 ._timelineHeader_8n26r_154{opacity:.8}._timelineCompany_8n26r_168{font-weight:var(--font-weight-medium);color:var(--text-link);transition:var(--transition-standard);position:relative}._timelineEntry_8n26r_16:hover ._timelineCompany_8n26r_168{color:var(--text-link-hover)}._dimmedEntry_8n26r_40 ._timelineCompany_8n26r_168{opacity:.8}._timelineCompany_8n26r_168 a{color:inherit;text-decoration:none;position:relative}._timelineCompany_8n26r_168 a:hover{color:var(--text-link-hover)}._timelineCompany_8n26r_168 a:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}._timelineCompany_8n26r_168 a:hover:after{transform:scaleX(1);transform-origin:left}._timelineLocation_8n26r_211{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm);transition:var(--transition-standard);opacity:.7}._timelineEntry_8n26r_16:hover ._timelineLocation_8n26r_211{opacity:.9}._dimmedEntry_8n26r_40 ._timelineLocation_8n26r_211{opacity:.7}._timelineRole_8n26r_228{font-weight:var(--font-weight-bold);color:var(--text-primary);transition:var(--transition-standard)}._timelineEntry_8n26r_16:hover ._timelineRole_8n26r_228{color:var(--text-heading)}._dimmedEntry_8n26r_40 ._timelineRole_8n26r_228{opacity:.8}._timelineDot_8n26r_242{margin:0 var(--spacing-xs);color:var(--text-secondary);opacity:.7}._timelineDescription_8n26r_248{font-size:var(--font-size-smmd);color:var(--text-primary);margin-bottom:var(--spacing-md);line-height:1.6}._timelineSkills_8n26r_255{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}._dimmedEntry_8n26r_40{opacity:.5}._timelineEntry_8n26r_16:hover ._timelineDescription_8n26r_248{color:var(--text-primary);opacity:1}._dimmedEntry_8n26r_40 ._timelineDescription_8n26r_248{opacity:.7}@media (max-width: var(--breakpoint-md)){._timelineEntry_8n26r_16{padding-left:90px}._timelineContainer_8n26r_3:before{left:70px}._timelineEntry_8n26r_16:before{left:70px}._timelineHalo_8n26r_112{left:74px}._timelineLineSegment_8n26r_81{left:78px}._timelineYear_8n26r_138{position:static;margin-bottom:var(--spacing-xs)}}@media (max-width: var(--breakpoint-sm)){._timelineEntry_8n26r_16{padding-left:80px;padding-right:var(--spacing-sm)}._timelineContainer_8n26r_3:before{left:60px}._timelineEntry_8n26r_16:before{left:60px}._timelineHalo_8n26r_112{left:64px}._timelineLineSegment_8n26r_81{left:68px}._timelineYear_8n26r_138{display:inline-block;margin-bottom:var(--spacing-xs)}._timelineRole_8n26r_228,._timelineCompany_8n26r_168{display:block}._timelineHeader_8n26r_154{margin-top:var(--spacing-xs)}}.card-list-white-container{width:100%;margin:var(--spacing-md) 0}.card-list-white{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:var(--content-width-narrow);margin-top:var(--spacing-lg)}.card-item-white{background-color:var(--color-white-transparent-20);border-radius:var(--border-radius-md);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md);border:1px solid var(--color-gray-300);transition:var(--transition-standard);overflow:hidden;position:relative;cursor:default}.card-item-white:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);background-color:var(--color-white-transparent-20)}.degree-title{font-weight:var(--font-weight-bold);color:var(--text-heading);margin-bottom:var(--spacing-xs)}.institution{display:block;margin-bottom:var(--spacing-xs);color:var(--text-primary)}.thesis{display:block;font-style:italic;margin-bottom:var(--spacing-xs);color:var(--text-secondary)}.years{display:block;color:var(--text-secondary);font-size:var(--font-size-sm)}.education-intro{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-xl)}@media (max-width: 768px){.card-item-white{padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width: 576px){.card-list-white{margin-top:var(--spacing-md)}.card-item-white{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}}._navbar_1ptal_1{background-color:var(--navbar-background);height:var(--navbar-height);display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;z-index:var(--z-index-fixed);box-shadow:var(--shadow-small);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--card-border);transition:background-color .25s var(--transition-timing),box-shadow .25s var(--transition-timing)}._navbarContainer_1ptal_20{display:flex;align-items:center;width:100%;max-width:var(--content-max-width);padding:0 var(--container-padding);position:relative}._navbarLogo_1ptal_29{color:var(--navbar-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-right:auto;letter-spacing:var(--letter-spacing-tight);transition:color .2s var(--transition-timing)}._navbarLogo_1ptal_29 a{color:var(--navbar-text);text-decoration:none;display:flex;align-items:center;gap:var(--spacing-xs)}._navbarLogo_1ptal_29 a:hover{color:var(--navbar-active)}._navbarActions_1ptal_50{display:flex;align-items:center;padding-left:var(--spacing-md);margin-left:var(--spacing-md)}._navbarMenu_1ptal_60{display:flex;align-items:center;margin-left:auto}._navbarMenu_1ptal_60 ul{display:flex;list-style:none;text-align:center;margin:0;padding:0;gap:var(--spacing-xs)}._navbarItem_1ptal_75{height:var(--navbar-height);display:flex;align-items:center}._navbarLink_1ptal_81{color:var(--navbar-text);display:flex;align-items:center;text-decoration:none;padding:0 var(--spacing-md);height:100%;transition:all .2s var(--transition-timing);position:relative;font-weight:var(--font-weight-medium);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-wide)}._navbarLink_1ptal_81:after{content:"";position:absolute;width:0;height:2px;bottom:calc(var(--spacing-xs) * 1.5);left:50%;transform:translate(-50%);background-color:var(--navbar-border);transition:width .2s var(--transition-timing);border-radius:var(--border-radius-pill)}._navbarLink_1ptal_81:hover:after{width:calc(100% - var(--spacing-lg))}._navbarLink_1ptal_81._active_1ptal_115{color:var(--navbar-active)}._navbarLink_1ptal_81._active_1ptal_115:after{width:calc(100% - var(--spacing-lg))}._navbarLink_1ptal_81:hover{color:var(--navbar-hover)}._menuButton_1ptal_129{display:none;background:none;border:none;color:var(--navbar-text);cursor:pointer;font-size:24px;transition:color .2s var(--transition-timing);margin-left:auto;padding:0;line-height:0}._menuButton_1ptal_129:hover{color:var(--navbar-hover)}._navIcon_1ptal_147{margin-right:.25em}@media screen and (max-width: 768px){._menuButton_1ptal_129{display:flex;align-items:center;justify-content:center}._navbarMenu_1ptal_60{display:none;position:absolute;top:var(--navbar-height);left:0;flex-direction:column;width:100%;background-color:var(--navbar-background);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--card-border);box-shadow:var(--shadow-medium);z-index:var(--z-index-dropdown)}._navbarMenu_1ptal_60._active_1ptal_115{display:flex;animation:_fadeIn_1ptal_1 .3s ease}._navbarMenu_1ptal_60 ul{flex-direction:column;width:100%}._navbarItem_1ptal_75{width:100%;height:48px;border-bottom:1px solid var(--card-border-light)}._navbarLink_1ptal_81{width:100%;justify-content:center}._navbarLink_1ptal_81:after{bottom:8px}._navbarActions_1ptal_50{width:100%;justify-content:center;margin:var(--spacing-md) 0;padding:var(--spacing-md) 0;border-top:1px solid var(--card-border-light)}@keyframes _fadeIn_1ptal_1{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}}._toggle_1yfqs_2{background-color:var(--color-background-secondary);color:var(--color-accent);border:1px solid var(--button-secondary-background);border-radius:var(--border-radius-pill);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-standard);position:relative;overflow:hidden;padding:0;line-height:0}._toggle_1yfqs_2:hover{background-color:var(--color-accent-light);color:var(--navbar-active);transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--color-accent-rgb),.15);border-color:var(--color-accent-light)}._toggle_1yfqs_2:active{transform:translateY(0);box-shadow:none}._icon_1yfqs_33{font-size:var(--font-size-lg);position:relative;z-index:2;transition:transform .25s var(--transition-timing);display:flex;align-items:center;justify-content:center}._toggle_1yfqs_2:hover ._icon_1yfqs_33._rotateOnHover_1yfqs_43{transform:rotate(20deg)}._dot_1yfqs_48{position:absolute;bottom:2px;right:2px;width:8px;height:8px;border-radius:50%;z-index:2}._spacingRight_1yfqs_59{margin-right:var(--spacing-sm)}._spacingLeft_1yfqs_63{margin-left:var(--spacing-sm)}@media (max-width: 768px){._spacingRight_1yfqs_59,._spacingLeft_1yfqs_63{margin:0 var(--spacing-xs)}}._dark_1yfqs_74 ._toggle_1yfqs_2{background-color:var(--color-background-secondary);border-color:var(--button-secondary-background)}._dark_1yfqs_74 ._toggle_1yfqs_2:hover{background-color:var(--color-accent-light);border-color:var(--color-accent-light)}@keyframes _spin_1yfqs_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._toggle_1yfqs_2._animating_1yfqs_90 ._icon_1yfqs_33{animation:_spin_1yfqs_1 .5s var(--transition-timing)}._blue_1yfqs_95{box-shadow:0 0 0 2px #5b6fe94d}._blue_1yfqs_95 ._dot_1yfqs_48,._blueDot_1yfqs_99{background-color:#5b6fe9}@media (max-width: 768px){._toggle_1yfqs_2{width:40px;height:40px;transition:transform .2s var(--transition-timing),background-color .2s var(--transition-timing),box-shadow .2s var(--transition-timing)}._icon_1yfqs_33{font-size:var(--font-size-lg)}._toggle_1yfqs_2:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 8px rgba(var(--color-accent-rgb),.2)}._toggle_1yfqs_2:active{transform:translateY(0) scale(1)}}._footer_hz7qz_2{background-color:var(--footer-background);color:var(--footer-text);padding:var(--spacing-xl) 0 var(--spacing-lg);width:100%;display:flex;justify-content:center;margin-top:0;position:relative;border-top:1px solid var(--card-border)}._footerContent_hz7qz_14{width:100%;max-width:var(--content-max-width);padding:0 var(--container-padding);text-align:center;position:relative}._footerSocialLinks_hz7qz_22{margin-bottom:var(--spacing-lg)}._copyright_hz7qz_26{font-size:var(--font-size-sm);opacity:.8;color:var(--text-secondary);margin-top:var(--spacing-md)}._scrollTopButton_hz7qz_34{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:40px;height:40px;border-radius:var(--border-radius-circle);background-color:var(--card-background);color:var(--text-secondary);border:1px solid var(--card-border);box-shadow:var(--shadow-small);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px);transition:all .25s var(--transition-timing);z-index:var(--z-index-fixed);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}._scrollTopButton_hz7qz_34._visible_hz7qz_57{opacity:1;transform:translateY(0)}._scrollTopButton_hz7qz_34:hover{background-color:var(--color-accent-light);color:var(--color-accent);border-color:var(--color-accent-light);box-shadow:0 3px 6px rgba(var(--color-accent-rgb),.2);transform:translateY(-2px)}@media (max-width: 768px){._footer_hz7qz_2{padding:var(--spacing-lg) 0 var(--spacing-md)}._scrollTopButton_hz7qz_34{bottom:var(--spacing-lg);right:var(--spacing-lg);width:36px;height:36px}}._loadingOverlay_a1ux1_2{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-background-primary);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:1;transition:opacity .5s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}._hidden_a1ux1_18{opacity:0;pointer-events:none}._spinnerContainer_a1ux1_23{display:flex;flex-direction:column;align-items:center;justify-content:center}._spinner_a1ux1_23{width:60px;height:60px;border:5px solid rgba(var(--color-primary-rgb),.2);border-top:5px solid var(--button-primary-background);border-radius:50%;animation:_spin_a1ux1_23 1.2s cubic-bezier(.5,.1,.5,.9) infinite;box-shadow:var(--shadow-small)}._loadingText_a1ux1_40{margin-top:1.5rem;font-size:var(--font-size-lg);color:var(--text-primary);font-weight:600;letter-spacing:1px;animation:_pulse_a1ux1_1 1.5s ease-in-out infinite alternate}@keyframes _pulse_a1ux1_1{0%{opacity:.6}to{opacity:1}}@keyframes _spin_a1ux1_23{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#root{width:100%;margin:0 auto;text-align:center;font-family:var(--font-primary)}.main-content{padding-top:var(--navbar-height);min-height:calc(100vh - 40px);display:flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-background-primary)}.full-width-page{padding-top:0;width:100%;max-width:100%}.content-container{align-items:center;position:relative;overflow:visible;width:100%;max-width:var(--content-max-width);padding:0 var(--container-padding)}.content-container-full{max-width:100%;padding:0;margin:0;width:100%}.quarto-fullpage-container{width:100%;height:100%;min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background-primary);overflow-x:hidden}.logo{height:6em;padding:var(--spacing-lg);will-change:filter;transition:filter var(--transition-duration)}.logo:hover{filter:drop-shadow(var(--glow-primary))}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:var(--spacing-xl)}.read-the-docs{color:var(--text-muted)}
