/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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-outline-style:solid;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-green-400:oklch(79.2% .209 151.711);--color-green-700:oklch(52.7% .154 150.069);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-600:oklch(55.8% .288 302.321);--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--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:calc(1.5 / 1);--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:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"DM Sans",sans-serif;--default-mono-font-family:"DM Mono",monospace;--motion-site-shell-transform:translateX(-50%);--transition-property-desktop-nav-transition:color;--motion-underline-visible:scaleX(1);--motion-underline-hidden:scaleX(0);--transition-property-desktop-nav-transition-2:transform;--transition-property-search-trigger-transition:color,border-color,box-shadow;--motion-hover-lift:translateY(-2px) scale(1.015);--motion-press:translateY(1px) scale(.965);--transition-property-heat-cell-transition:transform,opacity,filter,outline-color;--transition-property-contribution-handle-transition:transform,border-color;--scale-hover:1.015;--scale-press:.965;--transition-property-experience-transition:background;--motion-detail-toggle-transform:rotate(180deg);--motion-detail-collapsed:translateY(-6px);--transition-property-technical-detail-transition:height,opacity,transform;--motion-detail-expanded:translateY(0);--transition-property-lab-row-transition:background,padding;--motion-lab-row-transform:translate(2px,-2px);--transition-property-section-view-all-transition:color,transform;--motion-link-hover:translateX(2px);--motion-link-arrow:translate(1px,-1px);--transition-property-back-top-transition:transform,box-shadow,filter;--transition-property-oss-sort-menu-transition:opacity,transform;--transition-property-oss-list-wrap-transition:height;--transition-property-project-tag-transition:transform,box-shadow,border-color;--transition-property-pcard-transition:border-color,transform,background;--motion-card-hover:translateY(-3px) scale(1.006);--motion-card-touch:translateY(-2px);--scale-heat-hover:1.18;--scale-menu-rest:.98;--transform-origin-navigation:right;--filter-hero-cover-filter:grayscale(1) contrast(1.08);--filter-link-pills-filter:brightness(.96);--background-size-preview-canvas-bg-size:14px 14px;--will-change-preview-canvas-will-change:opacity,transform}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.ui-pcard{isolation:isolate;border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);color:inherit;transition-property:var(--transition-property-pcard-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.52s;--tw-ease:var(--spring-gentle);transition-duration:.52s;transition-timing-function:var(--spring-gentle);border-radius:.28rem;grid-template-columns:repeat(1,minmax(0,1fr));gap:0;padding:0;text-decoration-line:none;display:grid;position:relative;overflow:hidden}.ui-pcard:before{content:var(--tw-content);pointer-events:none;z-index:2;border-radius:inherit;background-image:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),var(--foreground),transparent 70%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.ui-pcard:before{background-image:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),color-mix(in oklab,var(--foreground) 55%,transparent),transparent 70%)}}.ui-pcard:before{opacity:0;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:ease;will-change:var(--will-change-preview-canvas-will-change);padding:1px;transition-duration:.3s;transition-timing-function:ease;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude}.ui-pcard:after{content:var(--tw-content);pointer-events:none;z-index:calc(1 * -1);background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--foreground),transparent 65%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.ui-pcard:after{background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),color-mix(in oklab,var(--foreground) 6%,transparent),transparent 65%)}}.ui-pcard:after{opacity:0;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:ease;will-change:var(--will-change-preview-canvas-will-change);transition-duration:.3s;transition-timing-function:ease}@media (hover:hover){.ui-pcard:hover{transform:var(--motion-card-hover);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-pcard:hover{border-color:color-mix(in oklab,var(--foreground) 30%,transparent)}}.ui-pcard:hover{background-color:var(--surface);color:var(--foreground)}}@media print{.ui-pcard{break-inside:avoid;--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important;background-color:#0000!important}}@media (hover:hover){@media (hover:hover){.ui-pcard:hover:after,.ui-pcard:hover:before{content:var(--tw-content);opacity:1}}}@media (hover:none){.ui-pcard:active{transform:var(--motion-card-touch);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-pcard:active{border-color:color-mix(in oklab,var(--foreground) 30%,transparent)}}.ui-pcard:active{background-color:var(--surface)}}.ui-grain{opacity:.045}@media print{.ui-grain{display:none!important}}.ui-ambient{pointer-events:none;background-color:#0000;background-image:radial-gradient(ellipse 60% 28% at 50% -5%,var(--foreground),transparent 70%);display:none;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.ui-ambient{background-image:radial-gradient(ellipse 60% 28% at 50% -5%,color-mix(in oklab,var(--foreground) 5%,transparent),transparent 70%)}}@media print{.ui-ambient{display:none!important}}.ui-site-shell{min-height:100vh;position:relative;overflow:visible}.ui-site-shell:before{pointer-events:none;z-index:calc(1 * -1);width:min(var(--content-width),calc(100% - 2rem));transform:var(--motion-site-shell-transform);border-right-style:var(--tw-border-style);border-left-style:var(--tw-border-style);border-right:1px solid var(--document-rule);border-left:1px solid var(--document-rule);background-color:var(--background);content:"";inset-block:0;background-image:none;position:fixed;left:50%}@media (max-width:760px){.ui-site-shell:before{border-style:var(--tw-border-style);border-width:0;width:100%}}.ui-frame-marks{display:none}@media print{.ui-frame-marks{display:none!important}}.ui-frame-marks i{pointer-events:none;z-index:30;height:calc(var(--spacing) * 2.5);width:calc(var(--spacing) * 2.5);border-color:var(--muted-foreground);opacity:.5;position:fixed}.ui-frame-marks i:first-child{top:calc(var(--spacing) * 2.5);left:calc(var(--spacing) * 2.5);border-top:1px solid;border-left:1px solid}.ui-frame-marks i:nth-child(2){top:calc(var(--spacing) * 2.5);right:calc(var(--spacing) * 2.5);border-top:1px solid;border-right:1px solid}.ui-frame-marks i:nth-child(3){bottom:calc(var(--spacing) * 2.5);left:calc(var(--spacing) * 2.5);border-bottom:1px solid;border-left:1px solid}.ui-frame-marks i:nth-child(4){right:calc(var(--spacing) * 2.5);bottom:calc(var(--spacing) * 2.5);border-bottom:1px solid;border-right:1px solid}.ui-oss-sort-menu{pointer-events:none;z-index:40;transform-origin:100% 0;--tw-translate-y:calc(var(--spacing) * -1);min-width:100%;translate:var(--tw-translate-x) var(--tw-translate-y);scale:var(--scale-menu-rest);background-color:var(--background);opacity:0;--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,var(--foreground)),0 14px 32px -12px var(--tw-shadow-color,var(--foreground)),0 0 0 1px var(--tw-shadow-color,var(--foreground));border-radius:.4rem;margin:0;padding:.3rem;list-style-type:none;position:absolute;top:calc(100% + 8px);right:0}@supports (color:color-mix(in lab,red,red)){.ui-oss-sort-menu{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 10%,transparent)),0 14px 32px -12px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 40%,transparent)),0 0 0 1px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 8%,transparent))}}.ui-oss-sort-menu{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:var(--transition-property-oss-sort-menu-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.16s,.2s;--tw-ease:ease,cubic-bezier(.2,.8,.2,1);transition-duration:.16s,.2s;transition-timing-function:ease,cubic-bezier(.2,.8,.2,1)}.ui-heatmap-tooltip{pointer-events:none;z-index:2147483646;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:-100%;max-width:calc(100vw - 24px);translate:var(--tw-translate-x) var(--tw-translate-y);animation:heatmap-tooltip-in .24s var(--spring-snappy) 0s 1 normal both;background-image:linear-gradient(180deg,var(--foreground) 0,var(--foreground) 48%,var(--foreground) 100%);border-radius:.45rem;position:fixed}@supports (color:color-mix(in lab,red,red)){.ui-heatmap-tooltip{background-image:linear-gradient(180deg,color-mix(in oklab,var(--foreground) 82%,white) 0,var(--foreground) 48%,color-mix(in oklab,var(--foreground) 86%,black) 100%)}}.ui-heatmap-tooltip{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:DM Sans,Work Sans,sans-serif;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);line-height:1;font-weight:var(--font-weight-semibold);white-space:nowrap;color:var(--background);font-variant-numeric:tabular-nums;--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.42)),inset 0 -1px 0 var(--tw-shadow-color,oklab(0% none none/.22)),0 10px 24px -9px var(--tw-shadow-color,oklab(0% none none/.58));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.ui-hero-cover{margin-inline:calc(var(--spacing) * -3);--tw-border-style:dotted;border-style:dotted;border-bottom-width:1.5px;border-color:var(--border);width:calc(100% + 1.5rem);height:clamp(13rem,28vw,18rem);position:relative;overflow:hidden}@media (max-width:480px){.ui-hero-cover{height:calc(var(--spacing) * 40)}}@media (max-width:760px){.ui-hero-cover{margin-inline:calc(var(--spacing) * -4);width:calc(100% + 2rem)}}.ui-hero-cover>span{right:calc(var(--spacing) * 4);z-index:1;font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);text-transform:uppercase;position:absolute;bottom:.7rem}.ui-hero-cover video{object-fit:cover;opacity:.82;width:100%;height:100%;filter:var(--filter-hero-cover-filter);display:block}.ui-hero-cover:after{background-color:#0000;background-image:linear-gradient(180deg,transparent 45%,var(--background));content:"";position:absolute;inset:0}.ui-search-backdrop{z-index:80;background-color:var(--background);place-items:start center;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.ui-search-backdrop{background-color:color-mix(in oklab,var(--background) 55%,transparent)}}.ui-search-backdrop{padding-inline:calc(var(--spacing) * 6);padding-top:14vh;padding-bottom:calc(var(--spacing) * 8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-image:none}@media (max-width:640px){.ui-search-backdrop{padding-inline:calc(var(--spacing) * 3);padding-top:calc(var(--spacing) * 4);padding-bottom:calc(var(--spacing) * 4)}}@media print{.ui-search-backdrop{display:none!important}}.ui-pulse-dot{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2);background-color:var(--foreground);background-image:none;border-radius:3.40282e+38px;position:relative}@media print{.ui-pulse-dot{display:none!important}}.ui-pulse-dot:after{--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--foreground);content:"";border-radius:3.40282e+38px;animation:ping 2s ease-out infinite;position:absolute;inset:0}.ui-mobile-nav{transform-origin:100% 0;animation:spring-menu-in .38s var(--spring-snappy) 0s 1 normal both;display:none}@media print{.ui-mobile-nav{display:none!important}}@media (max-width:620px){.ui-mobile-nav{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (max-width:900px){.ui-mobile-nav{--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--glass-border);background-color:var(--background);width:100%;box-shadow:0 15px 40px var(--shadow);background-image:none;border-radius:.55rem;padding:.7rem;display:grid;position:absolute;top:calc(100% + .5rem);left:0;right:0}}@media (not (max-width:620px)) and (max-width:900px){.ui-mobile-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.ui-mobile-nav>p{padding-inline:.45rem;padding-top:var(--spacing);font-family:Work Sans,sans-serif;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:1.2;--tw-font-weight:var(--font-weight-medium);line-height:1.2;font-weight:var(--font-weight-medium);--tw-tracking:.12em;letter-spacing:.12em;color:var(--muted-foreground);text-transform:uppercase;font-variant:normal;grid-column:1/-1;margin:0;padding-bottom:.65rem;font-style:normal;font-stretch:100%}}.ui-mobile-nav button{cursor:pointer;border-style:var(--tw-border-style);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);transition-property:var(--transition-property-desktop-nav-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--spring-snappy);transition-duration:.2s;transition-timing-function:var(--spring-snappy);background-color:#0000;background-image:none;border-width:0;padding-block:.4rem;padding-inline:0}@media (max-width:900px){.ui-mobile-nav button{text-align:left;border:0;border-top:1px solid var(--border);grid-template-columns:1.5rem minmax(0,1fr);align-items:baseline;gap:.4rem;min-width:0;padding-block:.65rem;padding-inline:.45rem;display:grid}.ui-mobile-nav button span{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.ui-mobile-nav button strong{min-width:0;font-family:Work Sans,sans-serif;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;color:inherit;overflow:hidden}.ui-mobile-nav button.is-active{color:var(--foreground)}}.ui-mobile-nav button:hover{color:var(--foreground)}@media (max-width:620px){.ui-mobile-nav button:nth-of-type(2n){border-left:0;padding-left:.45rem}}@media (not (max-width:620px)) and (max-width:900px){.ui-mobile-nav button:nth-of-type(2n){border-left-style:var(--tw-border-style);border-left:1px solid var(--document-rule);padding-left:calc(var(--spacing) * 3)}}.ui-heatmap-days{height:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--activity-muted);grid-template-rows:repeat(7,1fr);align-items:center;display:grid;position:absolute;top:0;right:calc(100% + .8rem)}@media (max-width:620px){.ui-heatmap-days{display:none}}.ui-experience{gap:calc(var(--spacing) * 4);--tw-border-style:solid;border-style:solid;border-bottom-width:1px;border-color:var(--border);transition-property:var(--transition-property-experience-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:ease;grid-template-columns:6.5rem 1fr;padding-block:1.15rem;padding-inline:0;transition-duration:.3s;transition-timing-function:ease;display:grid;position:relative}@media (max-width:640px){.ui-experience{gap:calc(var(--spacing) * 2);grid-template-columns:repeat(1,minmax(0,1fr))}}@media print{.ui-experience{break-inside:avoid;--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important;background-color:#0000!important;background-image:none!important}}.ui-experience h3{font-family:Instrument Serif,Georgia,serif;font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);margin:0}.ui-experience:before{top:2.05rem;left:calc(var(--spacing) * -6);--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--muted-foreground);background-color:var(--background);width:.45rem;height:.45rem;transition-property:var(--transition-property-experience-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:ease;content:"";background-image:none;border-radius:3.40282e+38px;transition-duration:.3s;transition-timing-function:ease;display:none;position:absolute}@media (hover:hover){.ui-experience:hover:before{background-color:var(--foreground);background-image:none}}.ui-desktop-nav{justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 5);min-width:0;display:flex}@media (max-width:900px){.ui-desktop-nav{display:none}}.ui-desktop-nav button{cursor:pointer;border-style:var(--tw-border-style);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted-foreground);transition-property:var(--transition-property-desktop-nav-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--spring-snappy);transition-duration:.2s;transition-timing-function:var(--spring-snappy);background-color:#0000;background-image:none;border-width:0;padding-block:.4rem;padding-inline:0;position:relative}.ui-desktop-nav button.is-active{color:var(--foreground)}.ui-desktop-nav button.is-active:after{transform-origin:0;transform:var(--motion-underline-visible)}.ui-desktop-nav button:after{height:1px;transform-origin:var(--transform-origin-navigation);transform:var(--motion-underline-hidden);background-color:var(--foreground);transition-property:var(--transition-property-desktop-nav-transition-2);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.35s;--tw-ease:cubic-bezier(.2,.7,.2,1);content:"";background-image:none;transition-duration:.35s;transition-timing-function:cubic-bezier(.2,.7,.2,1);position:absolute;bottom:0;left:0;right:0}.ui-desktop-nav button:hover{color:var(--foreground)}@media (hover:hover){.ui-desktop-nav button:hover:after{transform-origin:0;transform:var(--motion-underline-visible)}}.ui-profile-mark{aspect-ratio:1;--tw-border-style:solid;border-style:solid;border-width:2px;border-color:var(--glass-border);background-color:var(--foreground);font-family:Instrument Serif,Georgia,serif;font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));color:var(--background);background-image:none;border-radius:.45rem;place-items:center;display:grid;position:relative;overflow:hidden}@media (max-width:480px){.ui-profile-mark{width:calc(var(--spacing) * 18)}}.ui-profile-mark small{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:normal;--tw-font-weight:var(--font-weight-medium);line-height:normal;font-weight:var(--font-weight-medium);font-variant:normal;font-style:normal;font-stretch:100%;position:absolute;bottom:.2rem;right:.35rem}.ui-project-action{z-index:3;border-style:var(--tw-border-style);background-color:#0000;background-image:linear-gradient(180deg,var(--background) 0,var(--background) 52%,var(--background) 100%);border-width:1px;border-radius:.2rem;align-items:center;gap:.3rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.ui-project-action{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white) 0,color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)) 100%)}}.ui-project-action{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 var(--foreground),0 1px 2px #0000001a,0 4px 10px -6px #00000040}@supports (color:color-mix(in lab,red,red)){.ui-project-action{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 color-mix(in oklab,var(--foreground) 6%,transparent),0 1px 2px oklab(0 none none/.1),0 4px 10px -6px oklab(0 none none/.25)}}.ui-project-action{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-project-action{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-project-action{transition-property:transform,box-shadow,border-color;transition-duration:.42s;transition-timing-function:var(--spring-snappy)}.ui-project-action:is(.dark *){background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0));box-shadow:inset 0 1px oklch(100% 0 0/.12),inset 0 -1px oklch(0 0 0/.4),0 1px 2px oklch(0 0 0/.5),0 6px 14px -8px oklch(0 0 0/.7)}.ui-project-action{padding-inline:.45rem;padding-block:var(--spacing);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);text-decoration-line:none}.ui-project-action:active{transform:var(--motion-press);--tw-brightness:brightness(96%);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,);--tw-duration:.1s;transition-duration:.1s}@media (hover:hover){@media (hover:hover){.ui-project-action:hover{transform:var(--motion-hover-lift);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-project-action:hover{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}}}@media (hover:none){.ui-project-action:active{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-project-action:active{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-heatmap-months{margin-bottom:calc(var(--spacing) * 2);height:calc(var(--spacing) * 5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--activity-muted);justify-content:flex-start;display:flex;position:relative}@media (max-width:620px){.ui-heatmap-months{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}.ui-oss-sort{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);display:inline-flex;position:relative}.ui-preview-canvas{height:auto;min-height:calc(var(--spacing) * 38);background-image:radial-gradient(var(--foreground) 1px,transparent 1px);position:relative}@supports (color:color-mix(in lab,red,red)){.ui-preview-canvas{background-image:radial-gradient(color-mix(in oklab,var(--foreground) 10%,transparent) 1px,transparent 1px)}}.ui-preview-canvas{background-size:var(--background-size-preview-canvas-bg-size);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));--tw-duration:.52s;--tw-ease:var(--spring-gentle);transition-duration:.52s;transition-timing-function:var(--spring-gentle);will-change:var(--will-change-preview-canvas-will-change)}.ui-contribution-panel{border-radius:var(--radius-sm);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-image:linear-gradient(180deg,var(--background),var(--background));position:relative;overflow:visible}@supports (color:color-mix(in lab,red,red)){.ui-contribution-panel{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 96%,var(--foreground)),var(--background))}}.ui-contribution-panel{padding-inline:1.4rem;padding-top:calc(var(--spacing) * 5);padding-bottom:calc(var(--spacing) * 6);color:var(--activity-foreground);--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.6)),0 1px 2px var(--tw-shadow-color,oklab(0% none none/.06)),0 14px 30px -22px var(--tw-shadow-color,oklab(0% none none/.35));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-contribution-panel:is(.dark *){--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(100% 0 0/.07)),0 18px 40px -24px var(--tw-shadow-color,oklch(0% 0 0/.8));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-image:linear-gradient(oklch(15% 0 0),oklch(11.5% 0 0))}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.ui-heat-cell{aspect-ratio:1;animation:heat-in .5s var(--spring-snappy) 0s 1 normal backwards;background-color:var(--activity-cell-0);--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--foreground));border-radius:3px;display:block}@supports (color:color-mix(in lab,red,red)){.ui-heat-cell{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 6%,transparent))}}.ui-heat-cell{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:var(--transition-property-heat-cell-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.34s,.22s,.22s,.22s;--tw-ease:var(--spring-snappy),ease-out,ease-out,ease-out;transition-duration:.34s,.22s,.22s,.22s;transition-timing-function:var(--spring-snappy),ease-out,ease-out,ease-out}@media (hover:hover){.ui-heat-cell:hover{z-index:70;scale:var(--scale-heat-hover);--tw-brightness:brightness(115%);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,);--tw-outline-style:none;outline-style:none}}.ui-heat-cell:focus-visible{z-index:70;scale:var(--scale-heat-hover);outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--foreground)}.z-40{z-index:40}.z-2147483647{z-index:2147483647}.ui-profile-now{max-width:calc(var(--spacing) * 56);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--muted-foreground);align-items:center;gap:.55rem;display:flex}@media (max-width:760px){.ui-profile-now{grid-column:1/-1;max-width:none}}.ui-profile-now b{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.row-start-2{grid-row-start:2}.row-start-4{grid-row-start:4}.row-start-6{grid-row-start:6}.ui-hero{width:min(var(--content-width),calc(100% - 2rem));margin-inline:auto}@media (max-width:760px){.ui-hero{width:100%}}.ui-hero{min-height:0;padding-inline:calc(var(--spacing) * 3);padding-top:0;padding-bottom:calc(var(--spacing) * 6);grid-template-columns:7rem minmax(0,1fr) 8rem;align-items:center;gap:clamp(1.5rem,3vw,2.5rem);display:block}@media (max-width:760px){.ui-hero{padding-inline:calc(var(--spacing) * 4)}}@media (max-width:900px){.ui-hero{gap:calc(var(--spacing) * 10);grid-template-columns:repeat(1,minmax(0,1fr))}}.ui-hero h1{font-family:Instrument Serif,Georgia,serif;font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));--tw-leading:1.02;--tw-font-weight:var(--font-weight-normal);line-height:1.02;font-weight:var(--font-weight-normal);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);white-space:normal;margin:0}@media (max-width:480px){.ui-hero h1{--tw-leading:var(--leading-tight);font-size:2rem;line-height:var(--leading-tight)}}.ui-hero h1 .line{vertical-align:bottom;padding-bottom:.08em;display:inline-block;overflow:hidden}.ui-hero h1 .line>*{animation:line-up 1s var(--spring-gentle) 0s 1 normal both;display:inline-block}.ui-hero h1 .line:nth-of-type(2)>*{animation-delay:.1s}.ui-hero h1 .line:nth-of-type(3)>*{animation-delay:.2s}.ui-hero h1 em{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--muted-foreground)}.ui-education-panel{margin-top:calc(var(--spacing) * 6);border-radius:var(--radius-sm);--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--border);background-color:var(--surface);padding:calc(var(--spacing) * 5)}.ui-education-panel>.eyebrow{margin:0;margin-bottom:calc(var(--spacing) * 3)}.ui-technical-detail{margin-top:calc(var(--spacing) * 4);height:0;transform:var(--motion-detail-collapsed);opacity:0;transition-property:var(--transition-property-technical-detail-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.5s,.3s,.5s;--tw-ease:var(--spring-snappy),ease,var(--spring-snappy);transition-duration:.5s,.3s,.5s;transition-timing-function:var(--spring-snappy),ease,var(--spring-snappy);animation-timing-function:var(--spring-snappy);overflow:hidden}@media print{.ui-technical-detail{opacity:1!important;--tw-shadow:0 0 #0000!important;height:auto!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important;background-color:#0000!important;background-image:none!important;display:block!important;transform:none!important}}.ui-technical-detail>div>div{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;display:flex}.ui-technical-detail p{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1.6;color:var(--muted-foreground);margin:0;line-height:1.6}.ui-technical-detail span{background-color:var(--accent);padding-inline:.45rem;padding-block:var(--spacing);font-family:Work Sans,sans-serif;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);background-image:none;border-radius:.2rem}.ui-technical-detail.is-open{height:auto;transform:var(--motion-detail-expanded);opacity:1}.ui-section-title{margin:0;margin-bottom:calc(var(--spacing) * 2);font-family:Instrument Serif,Georgia,serif;font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1.05;--tw-font-weight:var(--font-weight-normal);line-height:1.05;font-weight:var(--font-weight-normal);--tw-tracking:-.01em;letter-spacing:-.01em}@media (max-width:760px){.ui-section-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}}@media (max-width:640px){.ui-link-pills a,.ui-link-pills button{min-height:calc(var(--spacing) * 11)}}.ui-link-pills{justify-content:flex-end;gap:calc(var(--spacing) * 1.5);flex-wrap:wrap;margin:0;animation:none;display:flex}@media (max-width:760px){.ui-link-pills{justify-content:flex-start}}.ui-link-pills .x-mark{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1;line-height:1}.ui-link-pills a{cursor:pointer;--tw-border-style:solid;background-color:#0000;background-image:linear-gradient(180deg,var(--background) 0,var(--background) 52%,var(--background) 100%);border-style:solid;border-width:1px;border-radius:.32rem;align-items:center;gap:.4rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ui-link-pills a{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white) 0,color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)) 100%)}}.ui-link-pills a{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 var(--foreground),0 1px 2px #0000001a,0 4px 10px -6px #00000040}@supports (color:color-mix(in lab,red,red)){.ui-link-pills a{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 color-mix(in oklab,var(--foreground) 6%,transparent),0 1px 2px oklab(0 none none/.1),0 4px 10px -6px oklab(0 none none/.25)}}.ui-link-pills a{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-link-pills a{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-link-pills a{transition-property:transform,box-shadow,border-color;transition-duration:.42s;transition-timing-function:var(--spring-snappy)}.ui-link-pills a:is(.dark *){background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0));box-shadow:inset 0 1px oklch(100% 0 0/.12),inset 0 -1px oklch(0 0 0/.4),0 1px 2px oklch(0 0 0/.5),0 6px 14px -8px oklch(0 0 0/.7)}.ui-link-pills a{font-family:inherit;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:inherit;line-height:inherit;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);font-style:inherit;font-stretch:inherit;font-variant:inherit;padding-block:.38rem;padding-inline:.55rem;text-decoration-line:none}.ui-link-pills a:active{transform:var(--motion-press);filter:var(--filter-link-pills-filter);--tw-duration:.1s;transition-duration:.1s}@media (hover:none){.ui-link-pills a:active{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-link-pills a:active{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}}@media (hover:hover){.ui-link-pills a:hover{transform:var(--motion-hover-lift);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-link-pills a:hover{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}}.ui-link-pills button{cursor:pointer;--tw-border-style:solid;background-color:#0000;background-image:linear-gradient(180deg,var(--background) 0,var(--background) 52%,var(--background) 100%);border-style:solid;border-width:1px;border-radius:.32rem;align-items:center;gap:.4rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ui-link-pills button{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white) 0,color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)) 100%)}}.ui-link-pills button{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 var(--foreground),0 1px 2px #0000001a,0 4px 10px -6px #00000040}@supports (color:color-mix(in lab,red,red)){.ui-link-pills button{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 color-mix(in oklab,var(--foreground) 6%,transparent),0 1px 2px oklab(0 none none/.1),0 4px 10px -6px oklab(0 none none/.25)}}.ui-link-pills button{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-link-pills button{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-link-pills button{transition-property:transform,box-shadow,border-color;transition-duration:.42s;transition-timing-function:var(--spring-snappy)}.ui-link-pills button:is(.dark *){background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0));box-shadow:inset 0 1px oklch(100% 0 0/.12),inset 0 -1px oklch(0 0 0/.4),0 1px 2px oklch(0 0 0/.5),0 6px 14px -8px oklch(0 0 0/.7)}.ui-link-pills button{font-family:inherit;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:inherit;line-height:inherit;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);font-style:inherit;font-stretch:inherit;font-variant:inherit;padding-block:.38rem;padding-inline:.55rem;text-decoration-line:none}.ui-link-pills button:active{transform:var(--motion-press);filter:var(--filter-link-pills-filter);--tw-duration:.1s;transition-duration:.1s}@media (hover:none){.ui-link-pills button:active{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-link-pills button:active{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}}@media (hover:hover){.ui-link-pills button:hover{transform:var(--motion-hover-lift);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-link-pills button:hover{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}}.ui-hero-intro{align-items:center;gap:calc(var(--spacing) * 8);padding-inline:calc(var(--spacing) * 3);grid-template-columns:minmax(0,1fr) auto;padding-top:1.15rem;padding-bottom:0;display:grid}@media (max-width:760px){.ui-hero-intro{gap:calc(var(--spacing) * 4);grid-template-columns:repeat(1,minmax(0,1fr));padding-inline:0}}.ui-hero-intro>p{max-width:calc(var(--spacing) * 152);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(--muted-foreground);margin:0}.ui-recognition-list{--tw-border-style:solid;border-style:solid;border-top-width:1px;border-color:var(--border)}.ui-recognition-list p{gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);border-bottom:1px solid var(--border);padding-inline:0;padding-block:calc(var(--spacing) * 3);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));grid-template-columns:10rem 1fr;margin:0;display:grid}@media (max-width:640px){.ui-recognition-list p{gap:var(--spacing);grid-template-columns:repeat(1,minmax(0,1fr))}}@media (max-width:620px){.ui-recognition-list p{grid-template-columns:repeat(1,minmax(0,1fr));gap:.35rem}}.ui-recognition-list span{font-family:Work Sans,sans-serif;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted-foreground)}.ui-contribution-heading{font-family:Instrument Serif,Georgia,serif;font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1.05;--tw-font-weight:var(--font-weight-normal);line-height:1.05;font-weight:var(--font-weight-normal);--tw-tracking:-.01em;letter-spacing:-.01em;margin:0}@media (max-width:760px){.ui-contribution-heading{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}}.ui-section-heading{font-family:Instrument Serif,Georgia,serif;font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1.05;--tw-font-weight:var(--font-weight-normal);line-height:1.05;font-weight:var(--font-weight-normal);margin:0}@media (max-width:760px){.ui-section-heading{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}}.ui-education-institute{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);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);margin:0}.ui-contribution-summary{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--activity-muted);font-variant-numeric:tabular-nums;margin:0}.m-0{margin:0}.ui-avail-badge{align-items:center;gap:calc(var(--spacing) * 2);border-style:var(--tw-border-style);font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:.06em;letter-spacing:.06em;color:var(--muted-foreground);margin-inline:0;background-color:#0000;background-image:none;border-width:0;border-radius:3.40282e+38px;margin-top:0;margin-bottom:.35rem;padding:0;animation:none;display:inline-flex}.ui-hero-location{column-gap:calc(var(--spacing) * 3);row-gap:var(--spacing);font-family:DM Mono,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);--tw-font-weight:var(--font-weight-normal);flex-wrap:wrap;display:flex}.ui-hero-location,.ui-hero-role{margin-inline:0;margin-top:var(--spacing);font-weight:var(--font-weight-normal);color:var(--muted-foreground);font-variant:normal;margin-bottom:0;font-style:normal;font-stretch:100%}.ui-hero-role{font-family:Work Sans,sans-serif;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:var(--leading-normal);line-height:var(--leading-normal);--tw-font-weight:var(--font-weight-normal);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);text-transform:none;animation:none}.ui-pframe{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);margin-inline:.55rem;border-radius:.2rem;margin-top:.55rem;margin-bottom:0;overflow:hidden}.ui-project-card-title{font-family:Instrument Serif,Georgia,serif;font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:1.15;--tw-font-weight:var(--font-weight-normal);line-height:1.15;font-weight:var(--font-weight-normal);margin-inline:0;margin-top:0;margin-bottom:.35rem}.ui-cmd-group{margin-inline:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 2);margin-bottom:var(--spacing);font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:.12em;letter-spacing:.12em;color:var(--muted-foreground);text-transform:uppercase}.ui-statement-lead{margin-inline:0;margin-top:0;margin-bottom:calc(var(--spacing) * 1.5);font-family:Instrument Serif,Georgia,serif;font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1.05;line-height:1.05}@media (max-width:760px){.ui-statement-lead{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}}.ui-project-card-description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1.55;color:var(--muted-foreground);margin-inline:0;margin-top:0;margin-bottom:.8rem;line-height:1.55}.ui-statement{width:min(var(--content-width),calc(100% - 2rem));margin-inline:auto}@media (max-width:760px){.ui-statement{width:100%}}.ui-statement{scroll-margin-top:calc(var(--spacing) * 16);--tw-border-style:dotted;border-style:dotted;border-top-width:1px;border-color:var(--document-rule);padding-inline:calc(var(--spacing) * 3);padding-block:var(--section-padding);grid-template-columns:8.5rem minmax(0,1fr);gap:1.4rem;display:grid}@media (max-width:760px){.ui-statement{gap:calc(var(--spacing) * 4);padding-inline:calc(var(--spacing) * 4);grid-template-columns:repeat(1,minmax(0,1fr))}}.ui-statement>div:last-child>p:not(.statement-lead){max-width:var(--container-2xl);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(--muted-foreground)}.ui-editorial-section{width:min(var(--content-width),calc(100% - 2rem));margin-inline:auto}@media (max-width:760px){.ui-editorial-section{width:100%}}.ui-editorial-section{scroll-margin-top:calc(var(--spacing) * 16);--tw-border-style:dotted;border-style:dotted;border-top-width:1px;border-color:var(--document-rule);padding-inline:calc(var(--spacing) * 3);padding-block:var(--section-padding);grid-template-columns:8.5rem minmax(0,1fr);gap:1.4rem;display:grid}@media (max-width:760px){.ui-editorial-section{gap:calc(var(--spacing) * 4);padding-inline:calc(var(--spacing) * 4);grid-template-columns:repeat(1,minmax(0,1fr))}}.ui-experience-section{width:min(var(--content-width),calc(100% - 2rem));margin-inline:auto}@media (max-width:760px){.ui-experience-section{width:100%}}.ui-experience-section{scroll-margin-top:calc(var(--spacing) * 16);--tw-border-style:dotted;border-style:dotted;border-top-width:1px;border-color:var(--document-rule);padding-inline:calc(var(--spacing) * 3);padding-block:var(--section-padding);grid-template-columns:8.5rem minmax(0,1fr);gap:1.4rem;display:grid}@media (max-width:760px){.ui-experience-section{gap:calc(var(--spacing) * 4);padding-inline:calc(var(--spacing) * 4);grid-template-columns:repeat(1,minmax(0,1fr))}}.ui-skills-section{width:min(var(--content-width),calc(100% - 2rem));margin-inline:auto}@media (max-width:760px){.ui-skills-section{width:100%}}.ui-skills-section{scroll-margin-top:calc(var(--spacing) * 16);--tw-border-style:dotted;border-style:dotted;border-top-width:1px;border-color:var(--document-rule);padding-inline:calc(var(--spacing) * 3);padding-block:var(--section-padding);display:block}@media (max-width:760px){.ui-skills-section{padding-inline:calc(var(--spacing) * 4)}}.ui-hero-profile{margin-inline:calc(var(--spacing) * -3);align-items:center;gap:calc(var(--spacing) * 5);--tw-border-style:dotted;border-style:dotted;border-bottom-width:1.5px;border-color:var(--border);width:calc(100% + 1.5rem);padding-inline:calc(var(--spacing) * 3);padding-top:calc(var(--spacing) * 4);padding-bottom:calc(var(--spacing) * 5);grid-template-columns:5.5rem minmax(0,1fr) auto;display:grid}@media (max-width:760px){.ui-hero-profile{margin-inline:calc(var(--spacing) * -4);gap:calc(var(--spacing) * 4);width:calc(100% + 2rem);padding-inline:calc(var(--spacing) * 4);grid-template-columns:4.5rem minmax(0,1fr)}}.document-width{width:min(var(--content-width),calc(100% - 2rem));margin-inline:auto}@media (max-width:760px){.document-width{width:100%}}.my-0{margin-block:0}.ui-education-meta{margin-top:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 5);row-gap:var(--spacing);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--muted-foreground);flex-wrap:wrap;margin-bottom:0;display:flex}.ui-open-source-title{margin-top:calc(var(--spacing) * 2.5)}.ui-open-source-title,.ui-project-detail-title{margin-bottom:calc(var(--spacing) * 4);font-family:Instrument Serif,Georgia,serif;font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-normal);line-height:1;font-weight:var(--font-weight-normal)}.ui-project-detail-title{margin-top:calc(var(--spacing) * 2)}.ui-education-degree{margin-top:var(--spacing);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);margin-bottom:0}.ui-education-degree,.ui-section-view-all{font-size:var(--text-sm);color:var(--muted-foreground)}.ui-section-view-all{margin-top:calc(var(--spacing) * 4);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:var(--transition-property-section-view-all-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:var(--spring-snappy),var(--spring-snappy);transition-duration:.3s;transition-timing-function:var(--spring-snappy),var(--spring-snappy);align-items:center;gap:.35rem;text-decoration-line:none;display:inline-flex}@media (hover:hover){.ui-section-view-all:hover{transform:var(--motion-link-hover);color:var(--foreground)}}.ui-section-view-all svg{transition-property:var(--transition-property-desktop-nav-transition-2);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:var(--spring-snappy);transition-duration:.3s;transition-timing-function:var(--spring-snappy)}@media (hover:hover){.ui-section-view-all:hover svg{transform:var(--motion-link-arrow)}}.ui-project-body{margin-top:calc(var(--spacing) * 12);gap:calc(var(--spacing) * 12);grid-template-columns:14rem minmax(0,1fr);display:grid}@media (max-width:760px){.ui-project-body{gap:calc(var(--spacing) * 8);grid-template-columns:repeat(1,minmax(0,1fr))}}.ui-footer-details{margin-top:calc(var(--spacing) * 2);justify-content:space-between;column-gap:calc(var(--spacing) * 5);row-gap:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--muted-foreground)}.ui-footer-details,.ui-pcard-actions{align-items:center;flex-wrap:wrap;display:flex}.ui-pcard-actions{gap:calc(var(--spacing) * 2);margin-top:.8rem}.ui-contribution-foot{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 8);--tw-border-style:dashed;border-style:dashed;border-top-width:1px;border-color:var(--border);padding-top:calc(var(--spacing) * 4);margin-top:1.4rem;display:flex}.mt-0{margin-top:0}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-20{margin-top:calc(var(--spacing) * 20)}.ui-open-source-toolbar .oss-toolbar{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:var(--spacing)}.ui-pcard-meta{font-family:DM Mono,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);color:var(--muted-foreground);text-transform:uppercase;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem;display:flex}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}@media (max-width:640px){.ui-search-trigger{min-height:calc(var(--spacing) * 11);min-width:calc(var(--spacing) * 11)}}.ui-search-trigger{cursor:pointer;--tw-border-style:dashed;border-style:dashed;border-width:1px;border-color:var(--border);min-height:1.9rem;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted-foreground);--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);transition-property:var(--transition-property-search-trigger-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.42s;--tw-ease:var(--spring-snappy);transition-duration:.42s;transition-timing-function:var(--spring-snappy);background-color:#0000;background-image:none;border-radius:.45rem;align-items:center;gap:.45rem;padding-block:0;padding-inline:.65rem;display:flex}@media (hover:hover){.ui-search-trigger:hover{transform:var(--motion-hover-lift);border-color:var(--muted-foreground);color:var(--foreground);box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.08),0 2px 6px oklab(0 none none/.2)}}.ui-search-trigger:active{transform:var(--motion-press);--tw-duration:.1s;transition-duration:.1s}@media (max-width:620px){.ui-search-trigger{justify-content:center;width:2.2rem;padding:0}}@media (hover:none){.ui-search-trigger:active{border-color:var(--muted-foreground);color:var(--foreground);box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.08),0 2px 6px oklab(0 none none/.2)}}.ui-search-trigger kbd{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));align-items:center;gap:.12rem;margin-left:.3rem;display:inline-flex}@media (max-width:620px){.ui-search-trigger kbd,.ui-search-trigger span{display:none}}@media (max-width:640px){.ui-pcard-more{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y);opacity:1}}.ui-pcard-more{--tw-translate-x:-6px;translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;gap:var(--spacing);font-family:DM Mono,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);opacity:0;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:var(--spring-snappy);transition-duration:.3s;transition-timing-function:var(--spring-snappy);margin-left:1.2rem;display:inline-flex}@media (hover:hover){@media (hover:hover){.ui-pcard-more:is(:where(.group):hover *){--tw-translate-x:3px;translate:var(--tw-translate-x) var(--tw-translate-y);color:var(--foreground);opacity:1}}}.ui-preview-app-name{margin-left:.6rem}.ui-preview-app-name,.ui-preview-filename{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.ui-preview-filename{margin-left:auto}.ui-pr-tab-count{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:.2rem}.ml-1{margin-left:var(--spacing)}.ui-eq{height:calc(var(--spacing) * 3);align-items:flex-end;gap:calc(var(--spacing) * .5);display:inline-flex}.ui-eq i{width:calc(var(--spacing) * .5);background-color:var(--foreground);background-image:none;border-radius:1px;animation:eq 1s ease-in-out infinite}.ui-eq i:nth-child(2){animation-delay:.2s}.ui-eq i:nth-child(3){animation-delay:.45s}.ui-eq i:nth-child(4){animation-delay:.1s}.ui-search-results{max-height:calc(var(--spacing) * 96);overscroll-behavior:contain;min-height:0;padding:.4rem;overflow:auto}.ui-search-results>p{padding:calc(var(--spacing) * 4);font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.ui-search-results button{cursor:pointer;justify-content:space-between;gap:calc(var(--spacing) * 4);border-style:var(--tw-border-style);width:100%;min-width:0;padding:calc(var(--spacing) * 3);text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);background-color:#0000;background-image:none;border-width:0;border-radius:.35rem;display:flex}.ui-search-results button>span{overflow-wrap:break-word;min-width:0}.ui-search-results button.is-cursor,.ui-search-results button.is-cursor:hover{background-color:var(--accent);background-image:none}.ui-search-results button:hover{background-color:#0000;background-image:none}.ui-search-results small{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}@media (max-width:640px){.ui-search-results small{display:none}}.ui-search-dialog{width:min(34rem,100%);max-height:calc(100dvh - 2rem);animation:rise .42s var(--spring-snappy) 0s 1 normal both;--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--glass-border);background-color:var(--background);box-shadow:0 24px 80px var(--shadow);background-image:none;border-radius:.55rem;flex-direction:column;display:flex;overflow:hidden}@media (max-width:640px){.ui-icon-button{min-height:calc(var(--spacing) * 11);width:calc(var(--spacing) * 11)}}.ui-icon-button{min-height:calc(var(--spacing) * 8);width:calc(var(--spacing) * 8);cursor:pointer;border-top-right-radius:var(--radius-lg);border-style:var(--tw-border-style);color:var(--muted-foreground);--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);transition-property:var(--transition-property-search-trigger-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.42s;--tw-ease:var(--spring-snappy);transition-duration:.42s;transition-timing-function:var(--spring-snappy);background-color:#0000;background-image:none;border-width:0;place-items:center;padding:0;display:grid}@media (hover:hover){.ui-icon-button:hover{transform:var(--motion-hover-lift);border-color:var(--muted-foreground);color:var(--foreground);box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.08),0 2px 6px oklab(0 none none/.2)}}.ui-icon-button:active{transform:var(--motion-press);--tw-duration:.1s;transition-duration:.1s}@media (hover:none){.ui-icon-button:active{border-color:var(--muted-foreground);color:var(--foreground);box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.08),0 2px 6px oklab(0 none none/.2)}}.ui-topbar{--tw-border-style:dotted;border-style:dotted;border-width:0 0 1.5px;border-color:var(--border);background-color:var(--background);border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.8rem,2vw,1.65rem);min-height:3.7rem;display:grid}@supports (color:color-mix(in lab,red,red)){.ui-topbar{background-color:color-mix(in oklab,var(--background) 82%,transparent)}}.ui-topbar{padding-inline:calc(var(--spacing) * 3);--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);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background-image:none;padding-block:0}@media (max-width:900px){.ui-topbar{grid-template-columns:minmax(0,1fr) auto}}.ui-wide-skill-chip{width:100%;animation:chip-in .5s var(--spring-snappy) both;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-sm);--tw-border-style:solid;background-color:#0000;background-image:linear-gradient(180deg,var(--background) 0,var(--background) 52%,var(--background) 100%);border-style:solid;border-width:1px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ui-wide-skill-chip{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white) 0,color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)) 100%)}}.ui-wide-skill-chip{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 var(--foreground),0 1px 2px #0000001a,0 4px 10px -6px #00000040}@supports (color:color-mix(in lab,red,red)){.ui-wide-skill-chip{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 color-mix(in oklab,var(--foreground) 6%,transparent),0 1px 2px oklab(0 none none/.1),0 4px 10px -6px oklab(0 none none/.25)}}.ui-wide-skill-chip{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-wide-skill-chip{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-wide-skill-chip{transition-property:transform,box-shadow,border-color;transition-duration:.42s;transition-timing-function:var(--spring-snappy)}.ui-wide-skill-chip:is(.dark *){background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0));box-shadow:inset 0 1px oklch(100% 0 0/.12),inset 0 -1px oklch(0 0 0/.4),0 1px 2px oklch(0 0 0/.5),0 6px 14px -8px oklch(0 0 0/.7)}.ui-wide-skill-chip{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--foreground)}@media (hover:hover){.ui-wide-skill-chip:hover{transform:var(--motion-hover-lift);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-wide-skill-chip:hover{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}.ui-wide-skill-chip:hover{box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.12),0 6px 16px -8px oklab(0 none none/.3)}}.ui-wide-skill-chip:active{transform:var(--motion-press);--tw-duration:.1s;transition-duration:.1s}@media (hover:none){.ui-wide-skill-chip:active{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-wide-skill-chip:active{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}.ui-wide-skill-chip:active{box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.12),0 6px 16px -8px oklab(0 none none/.3)}.ui-wide-skill-chip:active svg{color:var(--skill-color)}.ui-wide-skill-chip:active svg:is(.dark *){color:var(--skill-color-dark)}}.ui-wide-skill-chip svg{color:var(--muted-foreground);transition-property:var(--transition-property-desktop-nav-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:ease;flex-shrink:0;transition-duration:.2s;transition-timing-function:ease}@media (hover:hover){.ui-wide-skill-chip:hover svg{color:var(--skill-color)}.ui-wide-skill-chip:hover svg:is(.dark *){color:var(--skill-color-dark)}}.ui-sort-option{cursor:pointer;justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);border-style:var(--tw-border-style);text-align:left;width:100%;font-family:inherit;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:inherit;line-height:inherit;white-space:nowrap;color:var(--muted-foreground);background-color:#0000;border-width:0;border-radius:.2rem;padding-block:.45rem;padding-inline:.6rem;display:flex}@media (hover:hover){.ui-sort-option:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-sort-option:hover{background-color:color-mix(in oklab,var(--foreground) 7%,transparent)}}.ui-sort-option:hover{color:var(--foreground)}}.ui-oss-repo{max-width:calc(var(--spacing) * 60);font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground);overflow:hidden}@media print{.ui-oss-repo{color:#333!important}}@media (max-width:620px){.ui-oss-repo{display:none}}.ui-search-input{align-items:center;gap:calc(var(--spacing) * 3);--tw-border-style:solid;border-style:solid;border-bottom-width:1px;border-color:var(--border);padding:calc(var(--spacing) * 4);display:flex}.ui-search-input:focus-within{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px;outline-color:var(--glass-border)}.ui-search-input input{border-style:var(--tw-border-style);min-width:0;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--foreground);--tw-outline-style:none;background-color:#0000;background-image:none;border-width:0;outline-style:none;flex:1}.ui-search-input kbd{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.ui-lab-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.ui-lab-body b{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.ui-lab-body small{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.ui-skill-chip{animation:chip-in .5s var(--spring-snappy) both;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-sm);--tw-border-style:solid;background-color:#0000;background-image:linear-gradient(180deg,var(--background) 0,var(--background) 52%,var(--background) 100%);border-style:solid;border-width:1px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ui-skill-chip{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white) 0,color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)) 100%)}}.ui-skill-chip{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 var(--foreground),0 1px 2px #0000001a,0 4px 10px -6px #00000040}@supports (color:color-mix(in lab,red,red)){.ui-skill-chip{box-shadow:inset 0 1px 0 oklab(100% 0 5.96046e-8/.75),inset 0 -1px 0 color-mix(in oklab,var(--foreground) 6%,transparent),0 1px 2px oklab(0 none none/.1),0 4px 10px -6px oklab(0 none none/.25)}}.ui-skill-chip{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-skill-chip{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-skill-chip{transition-property:transform,box-shadow,border-color;transition-duration:.42s;transition-timing-function:var(--spring-snappy)}.ui-skill-chip:is(.dark *){background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0));box-shadow:inset 0 1px oklch(100% 0 0/.12),inset 0 -1px oklch(0 0 0/.4),0 1px 2px oklch(0 0 0/.5),0 6px 14px -8px oklch(0 0 0/.7)}.ui-skill-chip{padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--foreground);padding-block:.32rem}@media (hover:hover){.ui-skill-chip:hover{transform:var(--motion-hover-lift);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-skill-chip:hover{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}.ui-skill-chip:hover{box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.12),0 6px 16px -8px oklab(0 none none/.3)}}.ui-skill-chip:active{transform:var(--motion-press);--tw-duration:.1s;transition-duration:.1s}@media (hover:none){.ui-skill-chip:active{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-skill-chip:active{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}.ui-skill-chip:active{box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.12),0 6px 16px -8px oklab(0 none none/.3)}.ui-skill-chip:active svg{color:var(--skill-color)}.ui-skill-chip:active svg:is(.dark *){color:var(--skill-color-dark)}}.ui-skill-chip svg{color:var(--muted-foreground);transition-property:var(--transition-property-desktop-nav-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:ease;flex-shrink:0;transition-duration:.2s;transition-timing-function:ease}@media (hover:hover){.ui-skill-chip:hover svg{color:var(--skill-color)}.ui-skill-chip:hover svg:is(.dark *){color:var(--skill-color-dark)}}.ui-nav-tools{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.ui-contribution-handle{border-style:var(--tw-border-style);border-width:1px;border-color:var(--foreground);border-radius:.3rem;align-items:center;gap:.35rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ui-contribution-handle{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-contribution-handle{background-image:linear-gradient(180deg,var(--background),var(--background) 52%,var(--background))}@supports (color:color-mix(in lab,red,red)){.ui-contribution-handle{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white),color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)))}}.ui-contribution-handle{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.75)),0 1px 2px var(--tw-shadow-color,oklab(0% none none/.1)),0 4px 10px -6px var(--tw-shadow-color,oklab(0% none none/.25));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:var(--transition-property-contribution-handle-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.42s;--tw-ease:var(--spring-snappy);transition-duration:.42s;transition-timing-function:var(--spring-snappy);padding-block:.32rem;padding-inline:.6rem;text-decoration-line:none}@media (hover:hover){.ui-contribution-handle:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y);scale:var(--scale-hover);border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-contribution-handle:hover{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}}.ui-contribution-handle: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(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-contribution-handle:focus-visible{--tw-ring-color:color-mix(in oklab,var(--foreground) 30%,transparent)}}.ui-contribution-handle:focus-visible{--tw-outline-style:none;outline-style:none}.ui-contribution-handle:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y);scale:var(--scale-press);--tw-duration:.1s;transition-duration:.1s}.ui-contribution-handle:is(.dark *){--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(100% 0 0/.12)),inset 0 -1px 0 var(--tw-shadow-color,oklch(0% 0 0/.4)),0 1px 2px var(--tw-shadow-color,oklch(0% 0 0/.5)),0 6px 14px -8px var(--tw-shadow-color,oklch(0% 0 0/.7));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0))}.ui-oss-sort-trigger{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 2);border-style:var(--tw-border-style);background-image:linear-gradient(180deg,var(--surface),var(--surface) 55%,var(--surface));border-width:0;border-radius:.3rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ui-oss-sort-trigger{background-image:linear-gradient(180deg,color-mix(in oklab,var(--surface) 88%,var(--foreground)),var(--surface) 55%,color-mix(in oklab,var(--surface) 92%,black))}}.ui-oss-sort-trigger{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:inherit;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:inherit;line-height:inherit;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,var(--foreground)),inset 0 -1px 0 var(--tw-shadow-color,var(--foreground)),0 5px 14px -8px var(--tw-shadow-color,var(--foreground));padding-left:.85rem}@supports (color:color-mix(in lab,red,red)){.ui-oss-sort-trigger{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 14%,transparent)),inset 0 -1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 5%,transparent)),0 5px 14px -8px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 45%,transparent))}}.ui-oss-sort-trigger{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:var(--transition-property-back-top-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:var(--spring-snappy),var(--spring-gentle),ease;transition-duration:.3s;transition-timing-function:var(--spring-snappy),var(--spring-gentle),ease}@media (hover:hover){.ui-oss-sort-trigger:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,var(--foreground)),inset 0 -1px 0 var(--tw-shadow-color,var(--foreground)),0 8px 18px -9px var(--tw-shadow-color,var(--foreground))}@supports (color:color-mix(in lab,red,red)){.ui-oss-sort-trigger:hover{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 20%,transparent)),inset 0 -1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 7%,transparent)),0 8px 18px -9px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 55%,transparent))}}.ui-oss-sort-trigger:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-brightness:brightness(104%);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,)}}.ui-oss-sort-trigger:focus-visible{outline-style:var(--tw-outline-style);outline-offset:3px;outline-width:2px;outline-color:var(--foreground)}.ui-detail-toggle{cursor:pointer;border-style:var(--tw-border-style);font-family:Work Sans,sans-serif;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);padding-inline:0;background-color:#0000;background-image:none;border-width:0;align-items:center;gap:.4rem;padding-top:.6rem;padding-bottom:0;display:flex}@media print{.ui-detail-toggle{display:none!important}}.ui-detail-toggle svg{transition-property:var(--transition-property-desktop-nav-transition-2);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.45s;--tw-ease:var(--spring-snappy);transition-duration:.45s;transition-timing-function:var(--spring-snappy)}.ui-detail-toggle.is-open svg{transform:var(--motion-detail-toggle-transform)}.ui-lab-row{align-items:center;gap:calc(var(--spacing) * 4);--tw-border-style:solid;border-style:solid;border-bottom-width:1px;border-color:var(--border);padding-inline:var(--spacing);padding-block:calc(var(--spacing) * 3);color:inherit;transition-property:var(--transition-property-lab-row-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.52s;--tw-ease:var(--spring-gentle);transition-duration:.52s;transition-timing-function:var(--spring-gentle);grid-template-columns:6.5rem minmax(0,1fr) auto 1rem;text-decoration-line:none;display:grid}@media (hover:hover){.ui-lab-row:hover{background-color:var(--surface);padding-left:calc(var(--spacing) * 3);color:var(--foreground);background-image:none}}@media (max-width:640px){.ui-lab-row{grid-template-columns:minmax(0,1fr) 1rem}}@media (hover:hover){.ui-lab-row:hover .lab-arrow{transform:var(--motion-lab-row-transform);color:var(--foreground)}}.ui-open-source-link{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 1.5);border-style:var(--tw-border-style);padding-inline:var(--spacing);padding-block:calc(var(--spacing) * 4);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted-foreground);transition-property:var(--transition-property-desktop-nav-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--spring-snappy);transition-duration:.2s;transition-timing-function:var(--spring-snappy);background-color:#0000;background-image:none;border-width:0;text-decoration-line:none;display:inline-flex}@media (hover:hover){.ui-open-source-link:hover{color:var(--foreground)}}@media print{.ui-open-source-link{display:none!important}}.ui-oss-more{cursor:pointer;align-items:center;gap:var(--spacing);padding-inline:var(--spacing);padding-block:calc(var(--spacing) * 4);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--muted-foreground);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));--tw-duration:.2s;--tw-ease:var(--spring-snappy);transition-duration:.2s;transition-timing-function:var(--spring-snappy);text-decoration-line:none;display:inline-flex}@media (hover:hover){.ui-oss-more:hover{color:var(--foreground)}}@media print{.ui-oss-more{display:none!important}}.ui-oss-row{align-items:center;gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);padding-inline:.2rem;padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:inherit;transition-property:var(--transition-property-experience-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--spring-snappy);transition-duration:.2s;transition-timing-function:var(--spring-snappy);grid-template-columns:1.4rem minmax(0,1fr) auto auto auto;text-decoration-line:none;display:grid}.ui-oss-row:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}@media (hover:hover){.ui-oss-row:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-oss-row:hover{background-color:color-mix(in oklab,var(--foreground) 3%,transparent)}}}@media print{.ui-oss-row{break-inside:avoid}}@media (max-width:620px){.ui-oss-row{grid-template-columns:1.2rem minmax(0,1fr) auto;row-gap:.3rem}}.ui-open-source-grid{grid-template-columns:8.5rem minmax(0,1fr);align-items:flex-start;gap:1.4rem;display:grid}@media (max-width:760px){.ui-open-source-grid{gap:calc(var(--spacing) * 4);grid-template-columns:repeat(1,minmax(0,1fr))}}.ui-skills-layout{align-items:flex-start;gap:calc(var(--spacing) * 6);grid-template-columns:8.5rem minmax(0,1fr);display:grid}@media (max-width:760px){.ui-skills-layout{gap:calc(var(--spacing) * 4);grid-template-columns:repeat(1,minmax(0,1fr))}}.ui-skills-panel{border-radius:var(--radius-sm);--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--border);padding:calc(var(--spacing) * 3);background-color:#0000;background-image:none;flex-direction:column;gap:.65rem;display:flex}.ui-footer-summary{justify-content:space-between;gap:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.ui-footer-summary,.ui-footer-tools{align-items:center;flex-wrap:wrap;display:flex}.ui-footer-tools{column-gap:calc(var(--spacing) * 4);row-gap:var(--spacing)}.ui-footer-tools kbd{font-family:DM Mono,monospace}.ui-experience-top{flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;display:flex}.ui-experience-top span{--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--border);background-color:var(--surface);border-radius:3.40282e+38px}@supports (color:color-mix(in lab,red,red)){.ui-experience-top span{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.ui-experience-top span{font-family:Work Sans,sans-serif;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-normal);line-height:var(--leading-normal);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:.02em;letter-spacing:.02em;color:var(--foreground);background-image:none;padding-block:.22rem;padding-inline:.55rem}.ui-experience-top:is(.dark *) span{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.ui-experience-top:is(.dark *) span{background-color:color-mix(in oklab,var(--surface) 55%,transparent)}}.ui-experience-top:is(.dark *) span{background-image:none}.ui-pcard-tags{flex-wrap:wrap;gap:.3rem;display:flex}.ui-return-home-link{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);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));justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.ui-return-home-link:hover{background-color:var(--accent)}}.ui-return-home-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(--muted-foreground);--tw-outline-style:none;outline-style:none}.ui-retry-button{border-radius:var(--radius-md);background-color:var(--foreground);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--background);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));justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.ui-retry-button:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-retry-button:hover{background-color:color-mix(in oklab,var(--foreground) 90%,transparent)}}}.ui-retry-button: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(--muted-foreground);--tw-outline-style:none;outline-style:none}.ui-pframe-bar{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);background-color:var(--surface);padding-inline:.7rem;padding-block:calc(var(--spacing) * 2);align-items:center;gap:.3rem;display:flex}.ui-contribution-live{gap:calc(var(--spacing) * 2);font-family:Work Sans,sans-serif;line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-normal);line-height:var(--leading-normal);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest);display:inline-flex}.ui-contribution-live,.ui-heatmap-legend{align-items:center;font-size:var(--text-xs);color:var(--activity-muted);text-transform:uppercase}.ui-heatmap-legend{gap:calc(var(--spacing) * 1.5);font-family:DM Mono,monospace;line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:.08em;letter-spacing:.08em;display:flex}@media print{.ui-heatmap-legend{display:none!important}}.ui-oss-tabs{gap:var(--spacing);border-radius:var(--radius-sm);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--surface);display:inline-flex}@supports (color:color-mix(in lab,red,red)){.ui-oss-tabs{background-color:color-mix(in oklab,var(--surface) 70%,transparent)}}.ui-oss-tabs{padding:var(--spacing)}.ui-lab-kind{--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--border);padding-inline:calc(var(--spacing) * 2);font-family:Work Sans,sans-serif;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:.09em;letter-spacing:.09em;color:var(--muted-foreground);text-transform:uppercase;border-radius:3.40282e+38px;justify-self:flex-start;padding-block:.15rem}@media (max-width:640px){.ui-lab-kind{display:none}}.ui-lab-kind.lab-experiment{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-lab-kind.lab-experiment{border-color:color-mix(in oklab,var(--foreground) 35%,transparent)}}.ui-lab-kind.lab-experiment{color:var(--foreground)}.ui-lab-date{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}@media (max-width:640px){.ui-lab-date{display:none}}.ui-oss-date{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;color:var(--muted-foreground)}@media print{.ui-oss-date{color:#333!important}}@media (max-width:620px){.ui-oss-date{display:none}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.ui-contribution-live-dot{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5);background-color:var(--activity-foreground);--tw-shadow:0 0 0 0 var(--tw-shadow-color,var(--activity-foreground));border-radius:3.40282e+38px;animation:live-ping 2s ease-out infinite}@supports (color:color-mix(in lab,red,red)){.ui-contribution-live-dot{--tw-shadow:0 0 0 0 var(--tw-shadow-color,color-mix(in oklab,var(--activity-foreground) 50%,transparent))}}.ui-contribution-live-dot{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-preview-window-dot{background-color:var(--foreground);border-radius:3.40282e+38px;width:7px;height:7px}@supports (color:color-mix(in lab,red,red)){.ui-preview-window-dot{background-color:color-mix(in oklab,var(--foreground) 22%,transparent)}}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.ui-footer-top{min-height:calc(var(--spacing) * 8);cursor:pointer;border-style:var(--tw-border-style);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground);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));--tw-duration:.2s;background-color:#0000;border-width:0;padding:0;transition-duration:.2s}@media (hover:hover){.ui-footer-top:hover{color:var(--foreground)}}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.ui-experience-body{min-width:0}.ui-experience-body>p{max-width:var(--container-2xl);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:1.65;color:var(--muted-foreground);line-height:1.65}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-152{max-width:calc(var(--spacing) * 152)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.ui-hero-copy{min-width:0;animation:none}.ui-hero-copy>.eyebrow{animation:rise .9s var(--spring-gentle) 0s 1 normal both}.ui-heatmap{min-width:0;padding-left:3.15rem}@media (max-width:620px){.ui-heatmap{padding-left:0}}@media (max-width:760px){.ui-heatmap{overflow:clip}}.min-w-0{min-width:0}.flex-1{flex:1}.ui-activity-eyebrow{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-normal);line-height:var(--leading-normal);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase;flex-shrink:0}@media print{.ui-activity-eyebrow{color:#333!important}}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.scale-100,.scale-110{scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%}.rotate-180{rotate:180deg}.ui-pr-list-item{animation:oss-row-in .32s cubic-bezier(.2,.8,.2,1) backwards}.ui-wordmark{cursor:pointer;border-style:var(--tw-border-style);font-family:Instrument Serif,Georgia,serif;font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);background-color:#0000;background-image:none;border-width:0;justify-self:flex-start}.ui-wordmark,.ui-wordmark span{color:var(--foreground)}.ui-oss-tab{cursor:pointer;border-style:var(--tw-border-style);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);border-width:0;border-radius:.2rem;padding-block:.4rem;padding-inline:.8rem;transition-property:none}.scroll-mt-16{scroll-margin-top:calc(var(--spacing) * 16)}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.self-start{align-self:flex-start}.ui-oss-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (hover:hover){@media (hover:hover){.ui-oss-title:is(:where(.group):hover *){text-underline-offset:3px;text-decoration-line:underline}}}.ui-oss-list-wrap{transition-property:var(--transition-property-oss-list-wrap-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.38s;--tw-ease:cubic-bezier(.2,.8,.2,1);transition-duration:.38s;transition-timing-function:cubic-bezier(.2,.8,.2,1);overflow:hidden}.overflow-hidden{overflow:hidden}.ui-project-tag{border-style:var(--tw-border-style);border-width:1px;border-color:var(--foreground);border-radius:.2rem}@supports (color:color-mix(in lab,red,red)){.ui-project-tag{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-project-tag{background-image:linear-gradient(180deg,var(--background) 0,var(--background) 52%,var(--background) 100%)}@supports (color:color-mix(in lab,red,red)){.ui-project-tag{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white) 0,color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)) 100%)}}.ui-project-tag{font-family:Work Sans,sans-serif;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:normal;--tw-font-weight:var(--font-weight-medium);line-height:normal;font-weight:var(--font-weight-medium);color:var(--foreground);--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.75)),inset 0 -1px 0 var(--tw-shadow-color,var(--foreground)),0 1px 2px var(--tw-shadow-color,#0000001a),0 4px 10px -6px var(--tw-shadow-color,#00000040);padding-block:.16rem;padding-inline:.36rem;font-style:normal}@supports (color:color-mix(in lab,red,red)){.ui-project-tag{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.75)),inset 0 -1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 6%,transparent)),0 1px 2px var(--tw-shadow-color,oklab(0% none none/.1)),0 4px 10px -6px var(--tw-shadow-color,oklab(0% none none/.25))}}.ui-project-tag{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:var(--transition-property-project-tag-transition);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s,.25s,.2s;--tw-ease:var(--spring-snappy);transition-duration:.2s,.25s,.2s;transition-timing-function:var(--spring-snappy)}.ui-project-tag:is(.dark *){--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(100% 0 0/.12)),inset 0 -1px 0 var(--tw-shadow-color,oklch(0% 0 0/.4)),0 1px 2px var(--tw-shadow-color,oklch(0% 0 0/.5)),0 6px 14px -8px var(--tw-shadow-color,oklch(0% 0 0/.7));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0))}@media (hover:hover){@media (hover:hover){.ui-project-tag:is(:where(.group):hover *){border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-project-tag:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--foreground) 25%,transparent)}}.ui-project-tag:is(:where(.group):hover *){--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.08)),0 2px 5px var(--tw-shadow-color,oklab(0% none none/.16));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.ui-project-detail-tag{border-radius:var(--radius-sm);border-style:var(--tw-border-style);border-width:1px;border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-project-detail-tag{border-color:color-mix(in oklab,var(--foreground) 14%,var(--border))}}.ui-project-detail-tag{background-image:linear-gradient(180deg,var(--background) 0,var(--background) 52%,var(--background) 100%)}@supports (color:color-mix(in lab,red,red)){.ui-project-detail-tag{background-image:linear-gradient(180deg,color-mix(in oklab,var(--background) 92%,white) 0,color-mix(in oklab,var(--background) 96%,var(--foreground)) 52%,color-mix(in oklab,var(--background) 90%,var(--foreground)) 100%)}}.ui-project-detail-tag{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:DM Sans,sans-serif;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-medium);line-height:1;font-weight:var(--font-weight-medium);color:var(--foreground);--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.75)),inset 0 -1px 0 var(--tw-shadow-color,var(--foreground)),0 1px 2px var(--tw-shadow-color,#0000001a),0 4px 10px -6px var(--tw-shadow-color,#00000040);font-style:normal}@supports (color:color-mix(in lab,red,red)){.ui-project-detail-tag{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.75)),inset 0 -1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 6%,transparent)),0 1px 2px var(--tw-shadow-color,oklab(0% none none/.1)),0 4px 10px -6px var(--tw-shadow-color,oklab(0% none none/.25))}}.ui-project-detail-tag{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-project-detail-tag:is(.dark *){--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(100% 0 0/.12)),inset 0 -1px 0 var(--tw-shadow-color,oklch(0% 0 0/.4)),0 1px 2px var(--tw-shadow-color,oklch(0% 0 0/.5)),0 6px 14px -8px var(--tw-shadow-color,oklch(0% 0 0/.7));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-image:linear-gradient(oklch(24% 0 0),oklch(18% 0 0) 52%,oklch(14% 0 0))}.rounded-full{border-radius:3.40282e+38px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tr-xs{border-top-right-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.ui-oss-empty{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--border);padding-inline:var(--spacing);padding-block:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-solid{--tw-border-style:solid;border-style:solid}.border-\(--document-rule\){border-color:var(--document-rule)}.border-border{border-color:var(--border)}.ui-sort-option-selected{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ui-sort-option-selected{background-color:color-mix(in oklab,var(--foreground) 7%,transparent)}}.ui-sort-option-selected{color:var(--foreground)}.ui-heatmap-legend-cell{background-color:var(--activity-cell-0);--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,oklab(0% none none/.08)),inset 0 0 0 1px var(--tw-shadow-color,var(--foreground))}@supports (color:color-mix(in lab,red,red)){.ui-heatmap-legend-cell{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,oklab(0% none none/.08)),inset 0 0 0 1px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 5%,transparent))}}.ui-heatmap-legend-cell{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-heatmap-legend-cell:is(.dark *){--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,oklch(0% 0 0/.5)),inset 0 0 0 1px var(--tw-shadow-color,oklch(100% 0 0/.03));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.bg-\(--activity-cell-1\){background-color:var(--activity-cell-1)}.bg-\(--activity-cell-2\){background-color:var(--activity-cell-2)}.bg-\(--activity-cell-3\){background-color:var(--activity-cell-3)}.bg-\(--activity-cell-4\){background-color:var(--activity-cell-4)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-transparent{background-color:#0000}.ui-pr-tab-inactive{background-image:linear-gradient(180deg,var(--foreground) 0,var(--foreground) 46%,var(--foreground) 100%)}@supports (color:color-mix(in lab,red,red)){.ui-pr-tab-inactive{background-image:linear-gradient(180deg,color-mix(in oklab,var(--foreground) 94%,white) 0,var(--foreground) 46%,color-mix(in oklab,var(--foreground) 86%,black) 100%)}}.ui-pr-tab-inactive{color:var(--background);--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,var(--background)),0 1px 2px var(--tw-shadow-color,var(--foreground))}@supports (color:color-mix(in lab,red,red)){.ui-pr-tab-inactive{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,color-mix(in oklab,var(--background) 24%,transparent)),0 1px 2px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 30%,transparent))}}.ui-pr-tab-inactive{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.ui-pr-tab-inactive:hover{color:var(--background)}}.ui-pr-tab-inactive:focus-visible{color:var(--background)}.ui-pr-tab-inactive:active{color:var(--background);--tw-brightness:brightness(95%);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,)}.ui-heat-cell-active{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklab(100% 0 5.96046e-8/.35)),inset 0 0 0 1px var(--tw-shadow-color,oklab(0% none none/.1)),0 1px 1px var(--tw-shadow-color,oklab(0% none none/.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-image:linear-gradient(oklab(100% 0 5.96046e-8/.22),#0000 55%,oklab(0 none none/.1))}.ui-heat-cell-active:is(.dark *){--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(100% 0 0/.28)),inset 0 0 0 1px var(--tw-shadow-color,oklch(0% 0 0/.35)),0 1px 2px var(--tw-shadow-color,oklch(0% 0 0/.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.bg-none{background-image:none}.object-cover{object-fit:cover}.p-0{padding:0}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.ui-pcard-main{padding-inline:.9rem;padding-top:.8rem;padding-bottom:calc(var(--spacing) * 4)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-section-padding{padding-block:var(--section-padding)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.text-center{text-align:center}.ui-eyebrow{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-normal);line-height:var(--leading-normal);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase}@media print{.ui-eyebrow{color:#333!important}}.ui-oss-stats{font-family:DM Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));white-space:nowrap}@media print{.ui-oss-stats{color:#333!important}}.font-mono{font-family:DM Mono,monospace}.font-serif{font-family:Instrument Serif,Georgia,serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.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-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-2{--tw-leading:calc(var(--spacing) * 2);line-height:calc(var(--spacing) * 2)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.wrap-break-word{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.ui-lab-arrow{color:var(--muted-foreground);transition-property:var(--transition-property-desktop-nav-transition-2);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.25s;--tw-ease:var(--spring-snappy);transition-duration:.25s;transition-timing-function:var(--spring-snappy)}.text-\(--activity-muted\){color:var(--activity-muted)}.text-\(--green\){color:var(--green)}.text-\(--red\){color:var(--red)}.text-foreground{color:var(--foreground)}.text-green-700{color:var(--color-green-700)}.text-inherit{color:inherit}.text-muted-foreground{color:var(--muted-foreground)}.text-purple-600{color:var(--color-purple-600)}.text-red-600{color:var(--color-red-600)}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.no-underline{text-decoration-line:none}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.ui-heat-cell-empty{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,oklab(0% none none/.08)),inset 0 0 0 1px var(--tw-shadow-color,var(--foreground))}@supports (color:color-mix(in lab,red,red)){.ui-heat-cell-empty{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,oklab(0% none none/.08)),inset 0 0 0 1px var(--tw-shadow-color,color-mix(in oklab,var(--foreground) 5%,transparent))}}.ui-heat-cell-empty{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-heat-cell-empty:is(.dark *){--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,oklch(0% 0 0/.5)),inset 0 0 0 1px var(--tw-shadow-color,oklch(100% 0 0/.03));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-heat-cell-peak:is(.dark *){--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(100% 0 0/.6)),0 0 8px var(--tw-shadow-color,oklch(100% 0 0/.18));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-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,)}.transition-all{transition-property:all;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-180{--tw-duration:.18s;transition-duration:.18s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.ease-\(--ease-spring\,ease\){--tw-ease:var(--ease-spring,ease);transition-timing-function:var(--ease-spring,ease)}.ease-spring-snappy{--tw-ease:var(--spring-snappy);transition-timing-function:var(--spring-snappy)}.ease-theme-warp{--tw-ease:ease-out;transition-timing-function:ease-out}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:z-1:after{content:var(--tw-content);z-index:1}@media (hover:hover){.hover\:z-80:hover{z-index:80}.hover\:text-foreground:hover{color:var(--foreground)}}.active\:text-foreground:active{color:var(--foreground)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}@media print{.print\:hidden\!{display:none!important}.print\:overflow-visible\!{overflow:visible!important}.print\:bg-transparent\!{background-color:#0000!important}.print\:bg-none\!{background-image:none!important}.print\:shadow-none\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}}@media (max-width:620px){.max-compact\:hidden{display:none}.max-compact\:gap-px{gap:1px}}@media (max-width:640px){.max-small\:pt-10{padding-top:calc(var(--spacing) * 10)}.max-small\:pb-12{padding-bottom:calc(var(--spacing) * 12)}}@media (max-width:760px){.max-document\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-document\:px-4{padding-inline:calc(var(--spacing) * 4)}}@media (max-width:900px){.max-navigation\:inline{display:inline}.max-navigation\:max-w-none{max-width:none}}@media (hover:hover){@media (hover:hover){.can-hover\:group-hover\:translate-x-px:is(:where(.group):hover *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.can-hover\:group-hover\:-translate-y-px:is(:where(.group):hover *){--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.can-hover\:group-hover\:italic:is(:where(.group):hover *){font-style:italic}}}*{border-color:var(--border)}html{scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--foreground) transparent}@supports (color:color-mix(in lab,red,red)){html{scrollbar-color:color-mix(in oklab,var(--foreground) 22%,transparent) transparent}}body{background:var(--background);color:var(--foreground);background-color:var(--background);background-image:repeating-linear-gradient(135deg,transparent 0 5px,var(--gutter-hatch) 5px 6px);font-family:DM Sans,Work Sans,system-ui,sans-serif;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);margin:0}@media (max-width:60rem){:root{--section-padding:2rem}body{background-image:none}}a,button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}:where(a,button,input,select,[tabindex]):focus-visible{outline:2px solid var(--foreground);outline-offset:3px}:where(button,input,select):disabled{cursor:not-allowed;opacity:.5}::selection{background:var(--foreground);color:var(--background)}.motion-ready [data-reveal]>*{opacity:0;filter:blur(4px);transition:opacity .38s ease-out,filter .42s ease-out,transform .72s var(--spring-gentle);transform:translateY(16px)}.motion-ready [data-reveal]>:nth-child(2){transition-delay:.12s}.motion-ready [data-reveal]>:nth-child(3){transition-delay:.22s}.motion-ready [data-reveal]>:nth-child(4){transition-delay:.32s}.motion-ready [data-reveal].is-visible>*{opacity:1;filter:none;transform:none}@media print{body,html{color:#111!important;background:#fff!important}[data-reveal]{opacity:1!important;transform:none!important}article,section{break-inside:avoid}h1{font-size:3rem}a{text-decoration:none;color:inherit!important}footer{border-top:1px solid #ccc}footer p,footer span{color:#333!important}}[data-theme-warping=true] *,[data-theme-warping=true] :after,[data-theme-warping=true] :before{transition:none!important}@media (max-width:760px){body,html{max-width:100%;overflow-x:clip}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in oklab,var(--foreground) 22%,transparent)}}::-webkit-scrollbar-thumb{border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--foreground) 40%,transparent)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready [data-reveal]>*{opacity:1;filter:none;transform:none}.grain,.skill-chip{animation:none}.oss-list-wrap{transition:none}.oss-list li{animation:none}.theme-warp-canvas{display:none}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}:root{interpolate-size:allow-keywords;--spring-snappy:cubic-bezier(.34,1.56,.64,1);--spring-gentle:cubic-bezier(.22,1.28,.36,1);--spring-settle:cubic-bezier(.16,1,.3,1);--background:#fff;--foreground:#000;--surface:#f5f5f5;--muted-foreground:#737373;--border:#e5e5e5;--accent:#ededed;--glass-border:#d4d4d4;--shadow:oklch(0% 0 0/.12);--radius:.5rem;--content-width:60rem;--page-gutter:1rem;--section-padding:3rem;--document-rule:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root{--document-rule:color-mix(in oklab,var(--foreground) 10%,var(--background))}}:root{--gutter-hatch:var(--foreground)}@supports (color:color-mix(in lab,red,red)){:root{--gutter-hatch:color-mix(in oklab,var(--foreground) 5%,transparent)}}:root{--activity-background:transparent;--activity-foreground:oklch(25% 0 0);--activity-muted:oklch(52% 0 0);--activity-cell-0:oklch(94% 0 0);--activity-cell-1:oklch(82% 0 0);--activity-cell-2:oklch(66% 0 0);--activity-cell-3:oklch(44% 0 0);--activity-cell-4:oklch(16% 0 0);color-scheme:light;--green:oklch(22% 0 0);--red:oklch(48% 0 0);--violet:oklch(36% 0 0)}.dark{--activity-background:oklch(17.5% 0 0);--activity-foreground:oklch(96% 0 0);--activity-muted:oklch(64% 0 0);--activity-cell-0:oklch(24% 0 0);--activity-cell-1:oklch(37% 0 0);--activity-cell-2:oklch(52% 0 0);--activity-cell-3:oklch(72% 0 0);--activity-cell-4:oklch(94% 0 0);--background:oklch(10% 0 0);--foreground:oklch(80% 0 0);--surface:oklch(9.5% 0 0);--muted-foreground:oklch(62% 0 0);--border:oklch(20% 0 0);--accent:oklch(14.5% 0 0);--glass-border:oklch(25% 0 0);--shadow:oklch(0% 0 0/.4);color-scheme:dark;--green:oklch(88% 0 0);--red:oklch(62% 0 0);--violet:oklch(76% 0 0)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes line-up{0%{transform:translateY(105%)}to{transform:none}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes grain{0%,to{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}@keyframes oss-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes chip-in{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:none}}@keyframes heat-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes heatmap-tooltip-in{0%{opacity:0;transform:translate(-50%,calc(5px - 100%))scale(.96)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}@keyframes eq{0%,to{height:3px}50%{height:12px}}@keyframes dash{to{stroke-dashoffset:-14px}}@keyframes grow{0%{transform:scaleY(0)}}@keyframes pulse-soft{50%{opacity:.25}}@keyframes live-ping{70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes spring-menu-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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-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-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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}