html:not([data-theme-ready=true]) [data-astro-cid-3y5nyggt][data-theme-toggle-thumb],html:not([data-theme-ready=true]) [data-astro-cid-3y5nyggt][data-theme-toggle-thumb]>span[data-astro-cid-3y5nyggt]{transition:none}html[data-theme=light] [data-astro-cid-3y5nyggt][data-theme-toggle-thumb]{border-color:color-mix(in oklab,var(--color-border-subtle) 78%,var(--color-surface) 22%);background:radial-gradient(circle at 32% 28%,var(--color-surface) 0%,color-mix(in oklab,var(--color-surface) 72%,var(--color-overlay) 28%) 44%,color-mix(in oklab,var(--color-overlay) 88%,var(--color-inset) 12%) 100%);box-shadow:0 10px 24px color-mix(in oklab,var(--color-accent-1) 16%,transparent),0 4px 10px color-mix(in oklab,var(--color-text) 10%,transparent),inset 0 1px color-mix(in oklab,var(--color-surface) 78%,transparent)}html[data-theme=light] [data-astro-cid-3y5nyggt][data-theme-toggle-icon-selected-light]{color:var(--color-accent-1);filter:drop-shadow(0 1px 1px color-mix(in oklab,var(--color-accent-2) 32%,transparent))}html[data-theme=dark] [data-astro-cid-3y5nyggt][data-theme-toggle-thumb]{border-color:var(--color-border-subtle);background:var(--color-overlay);box-shadow:var(--shadow-sm)}[data-astro-cid-3ef6ksr2][data-copy-state] .copy-icon[data-astro-cid-3ef6ksr2],[data-astro-cid-3ef6ksr2][data-copy-state] .copy-success-icon[data-astro-cid-3ef6ksr2]{width:20px;height:20px}[data-astro-cid-3ef6ksr2][data-copy-state] .copy-success-icon[data-astro-cid-3ef6ksr2],[data-astro-cid-3ef6ksr2][data-copy-state].is-copied .copy-icon[data-astro-cid-3ef6ksr2]{display:none}[data-astro-cid-3ef6ksr2][data-copy-state].is-copied .copy-success-icon[data-astro-cid-3ef6ksr2]{display:inline-flex;animation:copy-pop .18s ease-out}@keyframes copy-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){[data-astro-cid-3ef6ksr2][data-copy-state].is-copied .copy-success-icon[data-astro-cid-3ef6ksr2]{animation:none}[data-astro-cid-3ef6ksr2][data-site-header]{transition:none}}[data-astro-cid-3ef6ksr2][data-site-header]{border-bottom-style:solid;border-bottom-width:0;border-color:transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background var(--motion-duration-med) var(--motion-ease-standard),border-color var(--motion-duration-med) var(--motion-ease-standard),backdrop-filter var(--motion-duration-med) var(--motion-ease-standard),-webkit-backdrop-filter var(--motion-duration-med) var(--motion-ease-standard)}[data-astro-cid-3ef6ksr2][data-site-header][data-at-top=false]{border-bottom-width:1px;border-color:var(--color-border-subtle);background:color-mix(in oklab,var(--color-bg) 50%,transparent);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}[data-astro-cid-3ef6ksr2][data-site-header][data-at-top=true]{border-bottom-width:0;border-color:transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}html[data-theme=dark] [data-astro-cid-3ef6ksr2][data-site-header][data-at-top=false]{border-color:var(--color-border-subtle);background:#0a111fd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}html[data-theme=dark] [data-astro-cid-3ef6ksr2][data-site-header][data-at-top=true]{border-bottom-width:0;border-color:transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-xl:.75rem;--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--color-bg);--color-surface-1:var(--color-surface-1);--color-surface-2:var(--color-surface-2);--color-surface-3:var(--color-surface-3);--color-surface-4:var(--color-surface-4);--color-page:var(--color-page);--color-surface:var(--color-surface);--color-raised:var(--color-raised);--color-inset:var(--color-inset);--color-overlay:var(--color-overlay);--color-border:var(--color-border);--color-border-subtle:var(--color-border-subtle);--color-border-strong:var(--color-border-strong);--color-divider:var(--color-divider);--color-text:var(--color-text);--color-muted:var(--color-muted);--color-accent-1:var(--color-accent-1);--color-accent-2:var(--color-accent-2);--color-accent-3:var(--color-accent-3);--color-ring:var(--color-ring);--radius-card:var(--radius-card);--radius-control:var(--radius-control);--gradient-primary:var(--gradient-primary);--gradient-hero:var(--gradient-hero);--shadow-panel:var(--shadow-panel);--shadow-glow:var(--shadow-glow);--shadow-glow-secondary:var(--shadow-glow-secondary);--motion-duration-reveal:var(--motion-duration-reveal);--motion-delay-reveal:var(--motion-delay-reveal);--motion-ease-reveal:var(--motion-ease-reveal)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{color:var(--color-text);background:var(--color-bg);flex-direction:column;margin:0;font-family:Poppins,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.6;display:flex;overflow:hidden}body:before{content:"";pointer-events:none;z-index:-2;height:auto;position:fixed;inset:0 -10%}html[data-theme=light] body:before{opacity:.55;background:radial-gradient(circle at 18% -20%,#ffffffe6,#0000 58%),radial-gradient(circle at 82% -12%,#60a5fa38,#0000 55%),radial-gradient(circle at 50% 120%,#a855f71f,#0000 60%)}html[data-theme=dark] body:before{opacity:.4;background:radial-gradient(circle at 50% -20%,#3b82f629,#0000 65%)}html[data-theme=light] body:after{content:"";opacity:.18;mix-blend-mode:soft-light;pointer-events:none;z-index:-1;background-image:linear-gradient(130deg,#ffffffa6,#fff0 45%),linear-gradient(300deg,#2563eb14,#fff0 40%);background-repeat:repeat;background-size:cover;position:fixed;inset:0}img{max-width:100%;display:block}main:focus-visible{outline:2px solid var(--color-accent-1);outline-offset:6px}.skip-link{background:var(--color-accent-1);color:#fff;z-index:999;opacity:0;border-radius:10px;padding:8px 16px;transition:transform .2s,opacity .2s;position:absolute;top:0;left:16px;transform:translateY(-200%)}.skip-link:focus{opacity:1;transform:translateY(16px)}@media print{body{color:#000;background:#fff}body:before,body:after{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}}@layer components{.site-main{--main-top:2rem;--scroll-offset:calc(var(--header-height) + var(--main-top));padding-top:calc(var(--header-height) + var(--main-top));-webkit-overflow-scrolling:touch;min-height:0;scroll-padding-top:var(--scroll-offset);flex:auto;overflow-y:auto}.site-main.is-scroll-locked{pointer-events:none}@media(min-width:768px){.site-main{scrollbar-gutter:stable}@supports not (scrollbar-gutter:stable){.site-main{overflow-y:scroll}}.site-main::-webkit-scrollbar{width:var(--scrollbar-size)}.site-main::-webkit-scrollbar-track{margin-top:var(--header-actual-height,var(--header-height));background:0 0}.site-main::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:content-box;border:4px solid #0000;border-radius:999px}.site-main::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.site-main::-webkit-scrollbar-button{width:0;height:0;display:none}@supports ((-moz-appearance:none)){.site-main{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb)transparent}}}.page-stack{gap:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*8);flex-direction:column;display:flex}@media(min-width:48rem){.page-stack{gap:calc(var(--spacing)*8);padding-bottom:calc(var(--spacing)*8)}}.page-stack-cv{gap:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*8);flex-direction:column;display:flex}@media(min-width:48rem){.page-stack-cv{gap:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*8)}}.page-stack-tight{gap:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*8);flex-direction:column;display:flex}@media(min-width:48rem){.page-stack-tight{gap:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*8)}}.work-section{scroll-margin-top:var(--scroll-offset)}.ui-h1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}@media(min-width:48rem){.ui-h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.ui-h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}@media(min-width:48rem){.ui-h2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}.ui-h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}@media(min-width:48rem){.ui-h3{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}.ui-body{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.ui-body-muted{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-muted)}.ui-label{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);color:var(--color-muted)}.ui-link{color:var(--color-text);text-underline-offset:4px;text-decoration-line:underline;text-decoration-color:#0000}@media(hover:hover){.ui-link:hover{color:var(--color-accent-1);text-decoration-color:currentColor}}.ui-link:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-ring);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-offset-color:var(--color-bg);--tw-outline-style:none;outline-style:none}.ui-overlay{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle);background-color:var(--color-overlay);color:var(--color-text);--tw-shadow:var(--shadow-xl);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-tooltip{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle);background-color:var(--color-overlay);color:var(--color-text);--tw-shadow:var(--shadow-xl);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.ui-gradient-primary{background-image:var(--gradient-primary);background-position:100% 0;background-size:100% 100%}.ui-button-primary,.ui-button-secondary{transition-property:transform,box-shadow,background-size,background-position,border-color,background-color,color,opacity;transition-duration:var(--motion-duration-med);transition-timing-function:var(--motion-ease-standard);border:1px solid #0000}.ui-button-primary{border-color:var(--color-surface-1)}@supports (color:color-mix(in lab,red,red)){.ui-button-primary{border-color:color-mix(in oklab,var(--color-surface-1)58%,var(--color-accent-2)42%)}}.ui-button-primary{color:var(--color-button-primary-text);background-image:var(--gradient-button-primary);box-shadow:var(--shadow-button-primary);background-position:100% 0;background-repeat:no-repeat;background-size:100% 100%}.ui-button-primary:hover{box-shadow:var(--shadow-button-primary-hover);background-size:120% 100%}.ui-button-primary:active,.ui-button-primary[data-pressed=true]{box-shadow:var(--shadow-button-primary-active);background-size:112% 100%;transform:translateY(1px)}.ui-button-secondary{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.ui-button-secondary{border-color:color-mix(in oklab,var(--color-border-subtle)88%,transparent)}}.ui-button-secondary{background-color:var(--color-surface-1)}@supports (color:color-mix(in lab,red,red)){.ui-button-secondary{background-color:color-mix(in oklab,var(--color-surface-1)94%,transparent)}}.ui-button-secondary{background-image:var(--gradient-button-secondary);box-shadow:var(--shadow-button-secondary)}.ui-button-secondary:hover{border-color:var(--color-accent-1)}@supports (color:color-mix(in lab,red,red)){.ui-button-secondary:hover{border-color:color-mix(in oklab,var(--color-accent-1)12%,var(--color-border-subtle))}}.ui-button-secondary:hover{background-color:var(--color-surface-3)}@supports (color:color-mix(in lab,red,red)){.ui-button-secondary:hover{background-color:color-mix(in oklab,var(--color-surface-3)72%,var(--color-surface-2)28%)}}.ui-button-secondary:hover{background-image:var(--gradient-button-secondary-hover);box-shadow:var(--shadow-button-secondary-hover)}.ui-button-secondary:active{box-shadow:var(--shadow-button-secondary-active);transform:translateY(1px)}html[data-theme=dark] .ui-button-secondary{border-color:var(--color-border-strong)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .ui-button-secondary{border-color:color-mix(in oklab,var(--color-border-strong)44%,transparent)}}html[data-theme=dark] .ui-button-secondary{background-color:var(--color-surface-1)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .ui-button-secondary{background-color:color-mix(in oklab,var(--color-surface-1)94%,var(--color-surface-2)6%)}}html[data-theme=dark] .ui-button-secondary:hover{border-color:var(--color-accent-1)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .ui-button-secondary:hover{border-color:color-mix(in oklab,var(--color-accent-1)5%,var(--color-border-strong))}}html[data-theme=dark] .ui-button-secondary:hover{background-color:var(--color-surface-2)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark] .ui-button-secondary:hover{background-color:color-mix(in oklab,var(--color-surface-2)80%,var(--color-surface-1))}}html[data-theme=dark] .ui-button-secondary:hover{background-image:var(--gradient-button-secondary-hover);box-shadow:var(--shadow-button-secondary-hover)}html[data-theme=dark] .ui-button-secondary:active{box-shadow:var(--shadow-button-secondary-active)}.ui-hero-accent{background-image:var(--gradient-hero);background-repeat:no-repeat;background-size:cover}.ui-hero-meta{border-radius:calc(var(--radius-card) - 8px);border:1px solid var(--color-border-subtle);flex-direction:column;gap:.5rem;padding:1rem;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.ui-hero-meta{border:1px solid color-mix(in oklab,var(--color-border-subtle)70%,transparent)}}.ui-hero-meta{background:var(--color-overlay)}@supports (color:color-mix(in lab,red,red)){.ui-hero-meta{background:color-mix(in oklab,var(--color-overlay)70%,transparent)}}.ui-hero-meta{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(4px)}.ui-hero-meta:before{content:"";background:var(--gradient-primary);opacity:.3;z-index:0;height:2px;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 12% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ui-hero-meta>*{z-index:1;position:relative}.ui-hero-meta__value{color:var(--color-text);font-size:.875rem;font-weight:400;line-height:1.45}.ui-motion{transition-property:transform,box-shadow,background-color,border-color,color,opacity;transition-duration:var(--motion-duration-med);transition-timing-function:var(--motion-ease-standard)}.ui-nav-underline{--ui-underline-h:3px;color:var(--color-muted);transition:color var(--motion-duration-med)var(--motion-ease-standard);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.ui-nav-underline__label{justify-content:center;align-items:center;display:inline-flex;position:relative}.ui-nav-underline__label:after{content:"";height:var(--ui-underline-h);background:var(--color-accent-1);width:0;transition:width var(--motion-duration-med)var(--motion-ease-standard);border-radius:9999px;position:absolute;bottom:-.2em;left:-.06em;right:auto}.ui-nav-underline--hint .ui-nav-underline__label:after{opacity:.2;background:var(--color-muted);width:calc(100% + .12em)}@supports (color:color-mix(in lab,red,red)){.ui-nav-underline--hint .ui-nav-underline__label:after{background:color-mix(in oklab,var(--color-muted)45%,transparent)}}.ui-nav-underline--hint .ui-nav-underline__label:before{content:"";height:var(--ui-underline-h);background:var(--color-accent-1);width:0;transition:width var(--motion-duration-med)var(--motion-ease-standard);border-radius:9999px;position:absolute;bottom:-.2em;left:-.06em;right:auto}.ui-nav-underline:hover,.ui-nav-underline:focus-visible,.ui-nav-underline[aria-current=page]{color:var(--color-text)}.ui-nav-underline:hover .ui-nav-underline__label:after,.ui-nav-underline:focus-visible .ui-nav-underline__label:after,.ui-nav-underline[aria-current=page] .ui-nav-underline__label:after{opacity:1;background:var(--color-accent-1);width:calc(100% + .12em)}.ui-nav-underline--hint:hover .ui-nav-underline__label:after,.ui-nav-underline--hint:focus-visible .ui-nav-underline__label:after,.ui-nav-underline--hint[aria-current=page] .ui-nav-underline__label:after{opacity:.2;background:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.ui-nav-underline--hint:hover .ui-nav-underline__label:after,.ui-nav-underline--hint:focus-visible .ui-nav-underline__label:after,.ui-nav-underline--hint[aria-current=page] .ui-nav-underline__label:after{background:color-mix(in oklab,var(--color-muted)45%,transparent)}}.ui-nav-underline--hint:hover .ui-nav-underline__label:before,.ui-nav-underline--hint:focus-visible .ui-nav-underline__label:before,.ui-nav-underline--hint[aria-current=page] .ui-nav-underline__label:before{width:calc(100% + .12em)}.ui-nav-underline:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.ui-nav-underline[aria-current=page]{cursor:default}[data-animate-in]{opacity:1;transform:none}html[data-anim=on] [data-animate-in]{opacity:0;transition:opacity var(--motion-duration-reveal)var(--motion-ease-reveal),transform var(--motion-duration-reveal)var(--motion-ease-reveal);transition-delay:var(--motion-delay-reveal);transform:translateY(18px)}html[data-anim=on] [data-animate-in][data-entered=true]{opacity:1;transform:none}.section-stack{gap:calc(var(--spacing)*4);flex-direction:column;display:flex}@media(min-width:48rem){.section-stack{gap:calc(var(--spacing)*6)}}.mobile-bottom-nav{--mobile-bottom-nav-active-x:0%;--mobile-bottom-nav-active-opacity:0;z-index:35;padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom,0px));background:var(--color-bg);grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.5rem;display:grid;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.mobile-bottom-nav{background:color-mix(in oklab,var(--color-bg)50%,transparent)}}.mobile-bottom-nav{-webkit-backdrop-filter:blur(20px)saturate(1.4);will-change:backdrop-filter;overflow:hidden;transform:translateZ(0);box-shadow:0 -10px 30px #02061729}.mobile-bottom-nav[data-active-tab=work]{--mobile-bottom-nav-active-x:0%;--mobile-bottom-nav-active-opacity:1}.mobile-bottom-nav[data-active-tab=side-projects]{--mobile-bottom-nav-active-x:33.3333%;--mobile-bottom-nav-active-opacity:1}.mobile-bottom-nav[data-active-tab=about]{--mobile-bottom-nav-active-x:66.6667%;--mobile-bottom-nav-active-opacity:1}.mobile-bottom-nav:before{content:"";background:var(--gradient-primary);opacity:.35;height:1px;position:absolute;top:0;left:0;right:0}.mobile-bottom-nav:after{content:"";background:radial-gradient(70% 100% at 50% 0%,var(--color-accent-2)0%,transparent 72%);height:56px;position:absolute;top:-22px;left:-20%;right:-20%}@supports (color:color-mix(in lab,red,red)){.mobile-bottom-nav:after{background:radial-gradient(70% 100% at 50% 0%,color-mix(in oklab,var(--color-accent-2)22%,transparent)0%,transparent 72%)}}.mobile-bottom-nav:after{opacity:.14;pointer-events:none}.mobile-bottom-nav__active-indicator{top:0;left:var(--mobile-bottom-nav-active-x);background:var(--gradient-primary);width:33.3333%;height:2px;opacity:var(--mobile-bottom-nav-active-opacity);transition:left var(--motion-duration-med)var(--motion-ease-standard),opacity var(--motion-duration-fast)var(--motion-ease-standard);pointer-events:none;z-index:2;border-radius:999px;position:absolute}.mobile-bottom-nav__item{z-index:1;height:52px;min-height:52px;color:var(--color-muted);transition:background-color var(--motion-duration-fast)var(--motion-ease-standard),color var(--motion-duration-fast)var(--motion-ease-standard);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex;position:relative}.mobile-bottom-nav__item span{font-size:12px;font-weight:500;line-height:1}.mobile-bottom-nav__item.is-active span,.mobile-bottom-nav__item[aria-current=page] span{font-weight:600}html[data-theme=light] .mobile-bottom-nav__item.is-active span,html[data-theme=light] .mobile-bottom-nav__item[aria-current=page] span{color:#010d39}.mobile-bottom-nav__item svg{color:#546b8f;width:24px;height:24px}.nav-icon-theme{justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-icon-theme .nav-icon-dark,html[data-theme=dark] .mobile-bottom-nav__item.is-active .nav-icon-theme .nav-icon-light,html[data-theme=dark] .mobile-bottom-nav__item[aria-current=page] .nav-icon-theme .nav-icon-light{display:none}html[data-theme=dark] .mobile-bottom-nav__item.is-active .nav-icon-theme .nav-icon-dark,html[data-theme=dark] .mobile-bottom-nav__item[aria-current=page] .nav-icon-theme .nav-icon-dark{display:block}.mobile-bottom-nav__item.is-active svg,.mobile-bottom-nav__item[aria-current=page] svg{color:var(--color-accent-1)}.mobile-bottom-nav__item:hover{color:inherit;background:0 0}.mobile-bottom-nav__item:focus-visible{outline:2px solid var(--color-ring);outline-offset:-2px}html[data-theme=dark] .mobile-bottom-nav__item.is-active span,html[data-theme=dark] .mobile-bottom-nav__item[aria-current=page] span{color:var(--color-text)}html[data-theme=dark] .mobile-bottom-nav{-webkit-backdrop-filter:blur(8px);background:#0a111fd9;box-shadow:0 -12px 26px #0206176b}html[data-theme=dark] .mobile-bottom-nav:after{opacity:.3}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.left-1{left:calc(var(--spacing)*1)}.left-1\/2{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.-mb-2{margin-bottom:calc(var(--spacing)*-2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-auto{height:auto}.h-full{height:100%}.min-h-\[48px\]{min-height:48px}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.w-max{width:max-content}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-prose{max-width:65ch}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[1\.5px\]{--tw-translate-y:1.5px;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-none{transform:none}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-2{row-gap:calc(var(--spacing)*2)}.overflow-hidden{overflow:hidden}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--radius-card\)-8px\)\]{border-radius:calc(var(--radius-card) - 8px)}.rounded-card{border-radius:var(--radius-card)}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--color-border)}.border-border-subtle,.border-border-subtle\/60{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/60{border-color:color-mix(in oklab,var(--color-border-subtle)60%,transparent)}}.border-border-subtle\/70{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/70{border-color:color-mix(in oklab,var(--color-border-subtle)70%,transparent)}}.border-transparent{border-color:#0000}.bg-accent-1\/15{background-color:var(--color-accent-1)}@supports (color:color-mix(in lab,red,red)){.bg-accent-1\/15{background-color:color-mix(in oklab,var(--color-accent-1)15%,transparent)}}.bg-border-subtle{background-color:var(--color-border-subtle)}.bg-inset{background-color:var(--color-inset)}.bg-overlay{background-color:var(--color-overlay)}.bg-raised\/70{background-color:var(--color-raised)}@supports (color:color-mix(in lab,red,red)){.bg-raised\/70{background-color:color-mix(in oklab,var(--color-raised)70%,transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-surface{--tw-gradient-from:var(--color-surface);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-raised\/70{--tw-gradient-to:var(--color-raised)}@supports (color:color-mix(in lab,red,red)){.to-raised\/70{--tw-gradient-to:color-mix(in oklab,var(--color-raised)70%,transparent)}}.to-raised\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-left{text-align:left}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-accent-1{color:var(--color-accent-1)}.text-muted{color:var(--color-muted)}.text-text{color:var(--color-text)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:var(--shadow-xl);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-border-subtle\/40{--tw-ring-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.ring-border-subtle\/40{--tw-ring-color:color-mix(in oklab,var(--color-border-subtle)40%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}.group-open\:border-b:is(:where(.group):is([open],:popover-open,:open) *){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.group-open\:border-border-subtle:is(:where(.group):is([open],:popover-open,:open) *){border-color:var(--color-border-subtle)}@media(hover:hover){.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:text-accent-1:is(:where(.group):hover *){color:var(--color-accent-1)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-focus-visible\:translate-y-0:is(:where(.group):focus-visible *){--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.group-data-\[state\=checked\]\:translate-x-7:is(:where(.group)[data-state=checked] *){--tw-translate-x:calc(var(--spacing)*7);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[state\=checked\]\:opacity-0:is(:where(.group)[data-state=checked] *){opacity:0}.group-data-\[state\=checked\]\:opacity-100:is(:where(.group)[data-state=checked] *){opacity:1}.group-data-\[state\=unchecked\]\:translate-x-0:is(:where(.group)[data-state=unchecked] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\:border-accent-1\/40:hover{border-color:var(--color-accent-1)}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent-1\/40:hover{border-color:color-mix(in oklab,var(--color-accent-1)40%,transparent)}}.hover\:border-border-subtle\/60:hover{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border-subtle\/60:hover{border-color:color-mix(in oklab,var(--color-border-subtle)60%,transparent)}}.hover\:bg-inset:hover{background-color:var(--color-inset)}.hover\:bg-raised:hover{background-color:var(--color-raised)}.hover\:text-accent-1:hover{color:var(--color-accent-1)}.hover\:shadow-xl:hover{--tw-shadow:var(--shadow-xl);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:text-accent-1:focus-visible{color:var(--color-accent-1)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-bg:focus-visible{--tw-ring-offset-color:var(--color-bg)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:shadow-lg:active{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:transform-none:disabled{transform:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[visible\=true\]\:translate-y-0[data-visible=true]{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[visible\=true\]\:opacity-100[data-visible=true]{opacity:1}@media(prefers-reduced-motion:no-preference){.motion-safe\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:duration-200{--tw-duration:.2s;transition-duration:.2s}}@media(min-width:1200px){.min-\[1200px\]\:sticky{position:sticky}.min-\[1200px\]\:top-0{top:calc(var(--spacing)*0)}.min-\[1200px\]\:col-start-1{grid-column-start:1}.min-\[1200px\]\:col-start-2{grid-column-start:2}.min-\[1200px\]\:row-span-2{grid-row:span 2/span 2}.min-\[1200px\]\:row-start-1{grid-row-start:1}.min-\[1200px\]\:mb-0{margin-bottom:calc(var(--spacing)*0)}.min-\[1200px\]\:block{display:block}.min-\[1200px\]\:hidden{display:none}.min-\[1200px\]\:h-fit{height:fit-content}.min-\[1200px\]\:grid-cols-\[minmax\(0\,1fr\)_280px\]{grid-template-columns:minmax(0,1fr) 280px}.min-\[1200px\]\:items-start{align-items:flex-start}.min-\[1200px\]\:self-start{align-self:flex-start}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}}@media(min-width:48rem){.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:mt-2{margin-top:calc(var(--spacing)*2)}.md\:ml-0{margin-left:calc(var(--spacing)*0)}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.md\:items-center{align-items:center}.md\:gap-6{gap:calc(var(--spacing)*6)}:where(.md\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.md\:justify-self-center{justify-self:center}.md\:justify-self-end{justify-self:flex-end}.md\:justify-self-start{justify-self:flex-start}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:p-10{padding:calc(var(--spacing)*10)}.md\:py-3{padding-block:calc(var(--spacing)*3)}.md\:pb-8{padding-bottom:calc(var(--spacing)*8)}.md\:text-center{text-align:center}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:contents:where([data-theme=dark],[data-theme=dark] *){display:contents}.dark\:hidden:where([data-theme=dark],[data-theme=dark] *){display:none}.dark\:text-text:where([data-theme=dark],[data-theme=dark] *){color:var(--color-text)}.\[\&\[data-state\=checked\]\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\[data-state\=checked\]\]\:bg-border-strong[data-state=checked]{background-color:var(--color-border-strong)}.\[\&\[data-state\=unchecked\]\]\:translate-x-0\.5[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}}:root{color-scheme:light dark;--color-bg:#f2f5fb;--color-surface-1:#fff;--color-surface-2:#edf2f9;--color-surface-3:#e1e8f4;--color-surface-4:#fff;--color-page:var(--color-bg);--color-surface:var(--color-surface-1);--color-raised:var(--color-surface-2);--color-inset:var(--color-surface-3);--color-overlay:var(--color-surface-4);--color-border:#d3dbe8;--color-border-subtle:#dde4ef;--color-border-strong:#b2bfd4;--color-divider:#c7d1e2;--color-text:#0b1a2b;--color-muted:#4b5b70;--color-accent-1:#2563eb;--color-accent-2:#3b82f6;--color-accent-3:#60a5fa;--color-ring:#2563eb8c;--radius-card:20px;--radius-control:999px;--shadow-sm:0 6px 16px #0f172a14,0 1px 3px #2563eb12,inset 0 1px 0 #ffffffb3;--shadow-md:0 12px 28px #0f172a1a,0 3px 8px #2563eb14,inset 0 1px 0 #ffffffa6;--shadow-lg:0 18px 36px #0f172a1f,0 6px 12px #2563eb17,inset 0 1px 0 #fff9;--shadow-xl:0 26px 52px #0f172a24,0 10px 20px #2563eb1c,inset 0 1px 0 #ffffff8c;--shadow-panel:var(--shadow-md);--shadow-glow:0 20px 40px #2563eb3d;--shadow-glow-secondary:0 16px 34px #60a5fa29;--gradient-primary:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);--gradient-secondary:linear-gradient(180deg,var(--color-surface-1)0%,var(--color-surface-2)100%)}@supports (color:color-mix(in lab,red,red)){:root{--gradient-secondary:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-1)92%,white 8%)0%,color-mix(in oklab,var(--color-surface-2)88%,var(--color-surface-1)12%)100%)}}:root{--gradient-button-primary:linear-gradient(180deg,#ffffff2e 0%,#ffffff0a 22%,#fff0 46%),linear-gradient(135deg,#b9c4f6 0%,#d7d1ec 40%,#ecd3d8 68%,#edba93 100%);--gradient-button-secondary:linear-gradient(180deg,var(--color-surface-1)0%,var(--color-surface-2)100%)}@supports (color:color-mix(in lab,red,red)){:root{--gradient-button-secondary:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-1)92%,white 8%)0%,color-mix(in oklab,var(--color-surface-2)88%,var(--color-surface-1)12%)100%)}}:root{--gradient-button-secondary-hover:linear-gradient(180deg,var(--color-surface-2)0%,var(--color-surface-3)100%)}@supports (color:color-mix(in lab,red,red)){:root{--gradient-button-secondary-hover:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-2)92%,white 8%)0%,color-mix(in oklab,var(--color-surface-3)84%,var(--color-surface-2)16%)100%)}}:root{--color-button-primary-text:#24324b;--shadow-button-primary:0 12px 24px #897fc024;--shadow-button-primary-hover:0 14px 26px #e8957029;--shadow-button-primary-active:inset 0 2px 5px #6d524224,0 8px 14px #897fc01a;--shadow-button-secondary:0 12px 24px #60a5fa24;--shadow-button-secondary-hover:0 16px 28px #60a5fa29;--shadow-button-secondary-active:0 8px 16px #0f172a1f;--gradient-hero:radial-gradient(circle at top,#2563eb1f 0%,#7c3aed14 45%,transparent 72%);--header-height:64px;--motion-duration-fast:.15s;--motion-duration-med:.22s;--motion-duration-slow:.42s;--motion-duration-reveal:1.2s;--motion-delay-reveal:.12s;--motion-ease-standard:cubic-bezier(.2,0,0,1);--motion-ease-emphasized:cubic-bezier(.2,0,0,1);--motion-ease-reveal:cubic-bezier(.16,1,.3,1);--scrollbar-size:12px;--scrollbar-thumb:var(--color-text)}@supports (color:color-mix(in lab,red,red)){:root{--scrollbar-thumb:color-mix(in oklab,var(--color-text)35%,transparent)}}:root{--scrollbar-thumb-hover:var(--color-text)}@supports (color:color-mix(in lab,red,red)){:root{--scrollbar-thumb-hover:color-mix(in oklab,var(--color-text)55%,transparent)}}@media(min-width:768px){:root{--header-height:72px}}html[data-theme=dark]{color-scheme:dark;--color-bg:#0a111f;--color-surface-1:#121c2f;--color-surface-2:#17263c;--color-surface-3:#1d2f4a;--color-surface-4:#263c5c;--color-page:var(--color-bg);--color-surface:var(--color-surface-1);--color-raised:var(--color-surface-2);--color-inset:var(--color-surface-3);--color-overlay:var(--color-surface-4);--color-border:#1f2a3d;--color-border-subtle:#223047;--color-border-strong:#354866;--color-divider:#2b3b55;--color-text:#f8fafc;--color-muted:#a4b2c8;--color-accent-1:#60a5fa;--color-accent-2:#38bdf8;--color-accent-3:#22d3ee;--color-ring:#94c5ff8c;--shadow-sm:0 6px 16px #02061773,0 2px 4px #02061740;--shadow-md:0 12px 24px #02061780,0 4px 8px #0206174d;--shadow-lg:0 18px 36px #0206178c,0 6px 12px #02061759;--shadow-xl:0 24px 48px #02061799,0 10px 20px #02061766;--shadow-panel:var(--shadow-md);--shadow-glow:0 24px 48px #22d3ee4d;--shadow-glow-secondary:0 18px 38px #94c5ff2e;--gradient-primary:linear-gradient(135deg,#60a5fa 0%,#a855f7 100%);--gradient-secondary:linear-gradient(180deg,var(--color-surface-2)0%,var(--color-surface-1)100%)}@supports (color:color-mix(in lab,red,red)){html[data-theme=dark]{--gradient-secondary:linear-gradient(180deg,color-mix(in oklab,var(--color-surface-2)86%,white 14%)0%,color-mix(in oklab,var(--color-surface-1)86%,black 14%)100%)}}html[data-theme=dark]{--gradient-button-primary:linear-gradient(180deg,#ffffff14 0%,#ffffff05 22%,#fff0 46%),linear-gradient(135deg,#8391c2 0%,#a097ca 40%,#bb9aad 68%,#cf966f 100%);--gradient-button-secondary:linear-gradient(180deg,#ffffff08 0%,#ffffff04 100%);--gradient-button-secondary-hover:linear-gradient(180deg,#ffffff0b 0%,#ffffff05 100%);--color-button-primary-text:#182235;--shadow-button-primary:0 10px 18px #080e1a47;--shadow-button-primary-hover:0 12px 22px #e6916e29;--shadow-button-primary-active:inset 0 2px 5px #1822354d,0 7px 14px #080e1a2e;--shadow-button-secondary:0 8px 16px #0206172e;--shadow-button-secondary-hover:0 10px 20px #02061738;--shadow-button-secondary-active:0 6px 12px #0206172e;--gradient-hero:radial-gradient(circle at top,#60a5fa24 0%,#a855f71a 45%,transparent 72%)}@media(prefers-reduced-motion:reduce){.ui-motion{transition:none!important}.ui-nav-underline__label:after,.ui-nav-underline__label:before{transition:none}[data-animate-in]{opacity:1!important;transition:none!important;transform:none!important}}@media(hover:none)and (pointer:coarse){[data-mobile-nav-buttons] a:hover,[data-mobile-nav-buttons] button:hover{background:0 0!important;border-color:#0000!important}}@media(min-width:768px){html[data-theme=light] [data-desktop-nav-buttons]>a:hover,html[data-theme=light] [data-desktop-nav-buttons]>button:hover{background:#b6ccfb!important;border-color:#0000!important}}@media(max-width:767px){.site-main{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));scrollbar-gutter:auto}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}[data-astro-cid-37fxchfa][data-mobile-bottom-nav]{backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}html[data-theme=dark] [data-astro-cid-37fxchfa][data-mobile-bottom-nav]{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
