.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-content:"";--tw-space-x-reverse:0;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-slate-400:oklch(70.4% .04 256.788);--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-app:var(--font-google-sans-code);--color-muted:var(--muted)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.app-prose{color:var(--tw-prose-body);max-width:65ch}.app-prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.app-prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.app-prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.app-prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.app-prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.app-prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.app-prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.app-prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.app-prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.app-prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.app-prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.app-prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.app-prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.app-prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.app-prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.app-prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.app-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.app-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.app-prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.app-prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.app-prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.app-prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.app-prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.app-prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.app-prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.app-prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.app-prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.app-prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.app-prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.app-prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.app-prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.app-prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.app-prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.app-prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.app-prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.app-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.app-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.app-prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.app-prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.app-prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.app-prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.app-prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.app-prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.app-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.app-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.app-prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.app-prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.app-prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.app-prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.app-prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.app-prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.app-prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.app-prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.app-prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.app-prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.app-prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.app-prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.app-prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.app-prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.app-prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.app-prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.app-prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.app-prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.app-prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.app-prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.app-prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.app-prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.app-prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.app-prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.app-prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.app-prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.app-prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.app-prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.app-prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.app-prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.app-prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.app-prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.app-prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.app-prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.app-prose h1,.app-prose h2,.app-prose h3,.app-prose h4,.app-prose th{margin-bottom:calc(var(--spacing)*3);color:var(--foreground)}.app-prose h3{font-style:italic}.app-prose p,.app-prose strong,.app-prose ol,.app-prose ul,.app-prose figcaption,.app-prose table,.app-prose code{color:var(--foreground)}.app-prose a{overflow-wrap:break-word;color:var(--foreground);text-underline-offset:4px;text-decoration-style:dashed}@media (hover:hover){.app-prose a:hover{color:var(--accent)}}.app-prose a:focus-visible{text-decoration-line:none}.app-prose ul{overflow-x:clip}.app-prose li ::marker{color:var(--accent)}.app-prose li::marker{color:var(--accent)}.app-prose li ::-webkit-details-marker{color:var(--accent)}.app-prose li::-webkit-details-marker{color:var(--accent)}.app-prose hr{border-color:var(--border)}.app-prose img{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);margin-inline:auto}.app-prose figcaption{opacity:.75}.app-prose table th,.app-prose table td{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);padding:calc(var(--spacing)*2)}.app-prose table th{padding-block:calc(var(--spacing)*1.5)}.app-prose table code{word-break:break-all}@media (min-width:40rem){.app-prose table code{overflow-wrap:normal;word-break:normal}}.app-prose code{background-color:var(--muted);border-radius:.25rem}@supports (color:color-mix(in lab,red,red)){.app-prose code{background-color:color-mix(in oklab,var(--muted)75%,transparent)}}.app-prose code{padding:calc(var(--spacing)*1);overflow-wrap:break-word;color:var(--foreground)}.app-prose code:before,.app-prose code:after{content:var(--tw-content);--tw-content:none;content:none}.app-prose .astro-code code{background-color:inherit;padding:calc(var(--spacing)*0);flex:1 0 100%}.app-prose blockquote{border-inline-start-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.app-prose blockquote{border-inline-start-color:color-mix(in oklab,var(--accent)80%,transparent)}}.app-prose blockquote{overflow-wrap:break-word;opacity:.8}.app-prose details{cursor:pointer;color:var(--foreground);-webkit-user-select:none;user-select:none;display:inline-block}.app-prose details p{display:none}.app-prose details ul{margin-block:calc(var(--spacing)*0)!important}.app-prose summary:focus-visible{outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--accent);--tw-outline-style:dashed;outline-style:dashed;text-decoration-line:none}.app-prose pre:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--accent);--tw-outline-style:dashed;border-color:#0000;outline-style:dashed}.astro-code{border-style:var(--tw-border-style);background-color:var(--shiki-light-bg);color:var(--shiki-light);outline-color:var(--border);border-width:1px;display:flex}.astro-code span{color:var(--shiki-light)}html[data-theme=dark] .astro-code{background-color:var(--shiki-dark-bg);color:var(--shiki-dark)}html[data-theme=dark] .astro-code span{color:var(--shiki-dark)}.astro-code .line.diff.add{background-color:#05df7233;width:100%;display:inline-block;position:relative}@supports (color:color-mix(in lab,red,red)){.astro-code .line.diff.add{background-color:color-mix(in oklab,var(--color-green-400)20%,transparent)}}.astro-code .line.diff.add:before{left:calc(var(--spacing)*-3);color:var(--color-green-500);--tw-content:"+";content:var(--tw-content);position:absolute}.astro-code .line.diff.remove{background-color:#fb2c3633;width:100%;display:inline-block;position:relative}@supports (color:color-mix(in lab,red,red)){.astro-code .line.diff.remove{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.astro-code .line.diff.remove:before{left:calc(var(--spacing)*-3);color:var(--color-red-500);--tw-content:"-";content:var(--tw-content);position:absolute}.astro-code .line.highlighted{background-color:#90a1b933;width:100%;display:inline-block}@supports (color:color-mix(in lab,red,red)){.astro-code .line.highlighted{background-color:color-mix(in oklab,var(--color-slate-400)20%,transparent)}}.astro-code .highlighted-word{border-radius:var(--radius-sm);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);padding-inline:calc(var(--spacing)*.5);padding-block:1px}*{border-color:var(--border);outline-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--accent)75%,transparent)}}*{scrollbar-width:auto;scrollbar-color:var(--color-muted)transparent}html{scroll-behavior:smooth;overflow-y:scroll}body{background-color:var(--background);min-height:100svh;font-family:var(--font-google-sans-code);color:var(--foreground);flex-direction:column;display:flex}body ::selection{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){body ::selection{background-color:color-mix(in oklab,var(--accent)75%,transparent)}}body::selection{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){body::selection{background-color:color-mix(in oklab,var(--accent)75%,transparent)}}body ::selection{color:var(--background)}body::selection{color:var(--background)}a,button{outline-offset:1px;outline-color:var(--accent)}:is(a,button):focus-visible{outline-style:var(--tw-outline-style);--tw-outline-style:dashed;outline-width:2px;outline-style:dashed;text-decoration-line:none}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start-16{inset-inline-start:calc(var(--spacing)*16)}.-top-6{top:calc(var(--spacing)*-6)}.-top-full{top:-100%}.top-\(--file-name-offset\){top:var(--file-name-offset)}.top-\[50\%\]{top:50%}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.app-layout{width:100%;max-width:var(--container-4xl);padding-inline:calc(var(--spacing)*4);margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.w-44{width:calc(var(--spacing)*44)}.w-full{width:100%}.max-w-none{max-width:none}.min-w-5\.5{min-width:calc(var(--spacing)*5.5)}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.-translate-\[50\%\]{--tw-translate-x: -50% ;--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.self-end{align-self:flex-end}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-md{border-radius:var(--radius-md)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-tl-none{border-top-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--border)}.border-foreground{border-color:var(--foreground)}.bg-background{background-color:var(--background)}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.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-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--accent)}.text-foreground{color:var(--foreground)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.italic{font-style:italic}.decoration-dashed{text-decoration-style:dashed}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-\[45\%\]:before{content:var(--tw-content);top:45%}.before\:left-2:before{content:var(--tw-content);left:calc(var(--spacing)*2)}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:size-1:before{content:var(--tw-content);width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-green-500:before{content:var(--tw-content);background-color:var(--color-green-500)}@media (hover:hover){.hover\:-mt-0\.5:hover{margin-top:calc(var(--spacing)*-.5)}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:text-accent:hover{color:var(--accent)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:top-4:focus{top:calc(var(--spacing)*4)}.focus-visible\:border-none:focus-visible{--tw-border-style:none;border-style:none}.focus-visible\:text-accent:focus-visible{color:var(--accent)}.focus-visible\:no-underline:focus-visible{text-decoration-line:none}.focus-visible\:underline-offset-0:focus-visible{text-underline-offset:0px}@media (min-width:40rem){.sm\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sm\:static{position:static}.sm\:my-auto{margin-block:auto}.sm\:ms-2{margin-inline-start:calc(var(--spacing)*2)}.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline-block{display:inline-block}.sm\:size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-x-5{column-gap:calc(var(--spacing)*5)}:where(.sm\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.sm\:gap-y-0{row-gap:calc(var(--spacing)*0)}.sm\:p-1{padding:calc(var(--spacing)*1)}.sm\:py-0{padding-block:calc(var(--spacing)*0)}.sm\:py-6{padding-block:calc(var(--spacing)*6)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:leading-none{--tw-leading:1;line-height:1}}.dark\:scale-0:where([data-theme=dark],[data-theme=dark] *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:where([data-theme=dark],[data-theme=dark] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:where([data-theme=dark],[data-theme=dark] *){rotate:-90deg}.dark\:rotate-0:where([data-theme=dark],[data-theme=dark] *){rotate:none}.\[\&\>li\]\:inline>li{display:inline}@media (hover:hover){.\[\&\>li\:not\(\:last-child\)\>a\]\:hover\:opacity-100>li:not(:last-child)>a:hover{opacity:1}}.\[\&\>li\>a\]\:block>li>a{display:block}.\[\&\>li\>a\]\:px-4>li>a{padding-inline:calc(var(--spacing)*4)}.\[\&\>li\>a\]\:py-3>li>a{padding-block:calc(var(--spacing)*3)}.\[\&\>li\>a\]\:text-center>li>a{text-align:center}.\[\&\>li\>a\]\:font-medium>li>a{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}@media (hover:hover){.\[\&\>li\>a\]\:hover\:text-accent>li>a:hover{color:var(--accent)}}@media (min-width:40rem){.sm\:\[\&\>li\>a\]\:px-2>li>a{padding-inline:calc(var(--spacing)*2)}.sm\:\[\&\>li\>a\]\:py-1>li>a{padding-block:calc(var(--spacing)*1)}}.\[\&\>svg\]\:stroke-accent>svg{stroke:var(--accent)}@media (hover:hover){.hover\:\[\&\>svg\]\:stroke-accent:hover>svg{stroke:var(--accent)}}}:root,html[data-theme=light]{--background:#fdfdfd;--foreground:#282728;--accent:#0f6e7a;--muted:#edeaea;--border:#e0dada;--dot-grid:#0000001a;--card:#f3f0f0;--clr-primary:#0f6e7a;--clr-purple:#6d28d9;--clr-gold:#b45309;--clr-green:#15803d;--clr-rose:#be123c;--clr-blue:#1d4ed8}html[data-theme=dark]{--background:#1a1a1a;--foreground:#e8e8e8;--accent:#ff6b01;--muted:#2e2e2e;--border:#3a3a3a;--dot-grid:#ffffff1a;--card:#252525;--clr-primary:#22d3ee;--clr-purple:#a78bfa;--clr-gold:#f59e0b;--clr-green:#34d399;--clr-rose:#fb7185;--clr-blue:#60a5fa}body.bg-dot-grid{background-image:radial-gradient(circle,var(--dot-grid)1px,transparent 1px);background-size:24px 24px}.nav-sidebar{display:none}.nav-mobile-bar{border-bottom:1px solid var(--border);justify-content:center;align-items:center;padding-top:.75rem;padding-bottom:.75rem;display:flex}.nav-mobile-links{align-items:center;gap:.625rem;display:flex}.nav-mobile-link{opacity:.6;white-space:nowrap;font-size:.8125rem;transition:opacity .15s}.nav-mobile-link:hover{opacity:1}.nav-mobile-link--docs.is-active{color:var(--accent)}.nav-mobile-icon{opacity:.6;justify-content:center;align-items:center;width:1rem;height:1rem;transition:opacity .15s;display:inline-flex;position:relative}.nav-mobile-icon:hover{opacity:1}@media (min-width:1024px){.nav-mobile-bar{display:none}.nav-sidebar{z-index:10;opacity:1;flex-direction:column;justify-content:space-between;gap:1.5rem;transition:opacity .4s,visibility .4s,transform .4s;display:flex;position:fixed;top:50%;left:1.25rem;transform:translateY(-50%)scale(1)}.nav-sidebar.nav-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-55%)scale(1.05)}.nav-sidebar.nav-leaving{opacity:0;pointer-events:none;transform:translateY(-45%)scale(.9)}.nav-dots{flex-direction:column;padding-left:.75rem;display:flex;position:relative}.nav-dots:before{content:"";background:var(--border);width:1px;position:absolute;top:.75em;bottom:.75em;left:3px}.nav-dot-item{color:var(--foreground);opacity:.35;cursor:pointer;white-space:nowrap;letter-spacing:.01em;padding:.35rem 0 .35rem .75rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .2s,color .2s;position:relative}.nav-dot-item:before{content:"";border:1.5px solid var(--border);background:var(--background);z-index:1;border-radius:50%;width:7px;height:7px;transition:border-color .2s,background .2s,box-shadow .2s;position:absolute;top:50%;left:-.75rem;transform:translateY(-50%)}.nav-dot-item:hover{opacity:.7}.nav-dot-item.is-active{opacity:1;color:var(--accent)}.nav-dot-item.is-active:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab,red,red)){.nav-dot-item.is-active:before{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)20%,transparent)}}.nav-dots--back{padding-left:0}.nav-dots--back:before{display:none}.nav-dot-back{opacity:.7;padding-left:0}.nav-dot-back:before{display:none}.nav-utils{border-top:1px solid var(--border);flex-direction:column;gap:.375rem;padding-top:.75rem;display:flex}.nav-page-link{color:var(--foreground);opacity:.35;white-space:nowrap;letter-spacing:.02em;font-size:.6875rem;text-decoration:none;transition:opacity .15s}.nav-page-link:hover{opacity:.8}.nav-page-link.is-active{opacity:1;color:var(--accent)}.nav-page-link--docs.is-active{color:var(--accent)}.nav-icon-row{align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.nav-sidebar-icon{opacity:.35;width:1rem;height:1rem;color:var(--foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex}.nav-sidebar-icon:hover{opacity:.8}}.hero-float-icons{display:none}@media (min-width:1024px){.hero-float-icons{z-index:20;opacity:1;flex-direction:column;gap:1rem;transition:opacity .4s,visibility .4s,transform .4s;display:flex;position:fixed;top:50%;left:1.5rem;transform:translateY(-50%)scale(1)}.hero-float-icons.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(40%)scale(.7)}.hero-float-icon{opacity:.45;width:1.35rem;height:1.35rem;color:var(--foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex}.hero-float-icon:hover{opacity:.85}.hero-float-svg,.hero-float-theme--moon,.hero-float-theme--sun{width:100%;height:100%}:root[data-theme=dark] .hero-float-theme--moon{display:none}:root[data-theme=dark] .hero-float-theme--sun,:root:not([data-theme=dark]) .hero-float-theme--moon{display:block}:root:not([data-theme=dark]) .hero-float-theme--sun{display:none}}.shuffle-toast{background:var(--foreground);color:var(--background);opacity:0;pointer-events:none;z-index:9999;font-size:.8rem;font-weight:500;font-family:var(--font-mono,monospace);border-radius:6px;padding:.4rem 1rem;transition:opacity .3s;position:fixed;bottom:1.5rem;left:50%;translate:-50%}.shuffle-toast.is-visible{opacity:.85}.hero-row{z-index:1;align-items:center;gap:4rem;display:flex;position:relative}@media (max-width:639px){.hero-row{text-align:center;flex-direction:column;align-items:center}}.hero-content{flex:1;min-width:0}.hero-photo-wrap{border:3px solid var(--foreground);width:12rem;height:12rem;box-shadow:0 4px 20px var(--foreground),0 0 0 4px var(--foreground);border-radius:9999px;flex-shrink:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.hero-photo-wrap{box-shadow:0 4px 20px color-mix(in srgb,var(--foreground)15%,transparent),0 0 0 4px color-mix(in srgb,var(--foreground)8%,transparent)}}.hero-photo-wrap img{object-position:center 30%;width:100%;height:100%;transform:scale(1.25)}.section-tinted{background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.section-tinted{background:color-mix(in srgb,var(--muted)30%,transparent)}}.section-tinted{margin-top:2.5rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:2rem calc(50vw - 50%)}.section-tinted+.section-tinted{border-top:1px solid var(--border);margin-top:0;padding-top:.5rem}.section-tinted+.section-tinted>:first-child{margin-top:0;padding-top:1rem}.active-nav{text-underline-offset:8px;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-thickness:2px}:target{scroll-margin-block:5rem}[id]{scroll-margin-top:5rem}.work-modal{background:var(--background);width:100%;max-width:64rem;max-height:100dvh;color:var(--foreground);border:none;border-radius:0;margin:auto;padding:0;position:relative;overflow:hidden}@media (min-width:640px){.work-modal{border:1px solid var(--border);border-radius:.5rem;width:92vw;max-height:90dvh}}.work-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009}.work-modal .modal-inner{max-height:100dvh;padding:0;overflow-y:auto}@media (min-width:640px){.work-modal .modal-inner{max-height:90dvh}}.modal-close-btn{z-index:10;background:var(--foreground);font-size:1.25rem;line-height:1;position:absolute;top:.75rem;right:.75rem}@supports (color:color-mix(in lab,red,red)){.modal-close-btn{background:color-mix(in srgb,var(--foreground)50%,transparent)}}.modal-close-btn{border:1px solid var(--background)}@supports (color:color-mix(in lab,red,red)){.modal-close-btn{border:1px solid color-mix(in srgb,var(--background)30%,transparent)}}.modal-close-btn{cursor:pointer;width:2rem;height:2rem;color:var(--background);border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.modal-close-btn:hover{background:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.modal-close-btn:hover{background:color-mix(in srgb,var(--foreground)80%,transparent)}}.type-badge{background:var(--muted);color:var(--accent);white-space:nowrap;border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.type-badge--oss{--badge-color:#16a34a;--badge-color-dark:#22c55e;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--oss{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--oss{color:var(--badge-color)}.type-badge--project{--badge-color:#2563eb;--badge-color-dark:#3b82f6;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--project{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--project{color:var(--badge-color)}.type-badge--writing{--badge-color:#7c3aed;--badge-color-dark:#8b5cf6;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--writing{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--writing{color:var(--badge-color)}.type-badge--talk{--badge-color:#ea580c;--badge-color-dark:#f97316;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--talk{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--talk{color:var(--badge-color)}.type-badge--certification{--badge-color:#ca8a04;--badge-color-dark:#eab308;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--certification{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--certification{color:var(--badge-color)}.type-badge--experience{--badge-color:#4f46e5;--badge-color-dark:#6366f1;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--experience{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--experience{color:var(--badge-color)}.type-badge--conference{--badge-color:#9333ea;--badge-color-dark:#a855f7;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--conference{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--conference{color:var(--badge-color)}.type-badge--hackathon{--badge-color:#d97706;--badge-color-dark:#f59e0b;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--hackathon{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--hackathon{color:var(--badge-color)}.type-badge--meetup{--badge-color:#0891b2;--badge-color-dark:#06b6d4;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--meetup{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--meetup{color:var(--badge-color)}.type-badge--building{--badge-color:#db2777;--badge-color-dark:#ec4899;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--building{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--building{color:var(--badge-color)}.type-badge--learning{--badge-color:#0d9488;--badge-color-dark:#14b8a6;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--learning{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--learning{color:var(--badge-color)}.type-badge--reading{--badge-color:#c026d3;--badge-color-dark:#d946ef;background:var(--badge-color)}@supports (color:color-mix(in lab,red,red)){.type-badge--reading{background:color-mix(in srgb,var(--badge-color)14%,transparent)}}.type-badge--reading{color:var(--badge-color)}:root[data-theme=dark] .type-badge--oss,:root[data-theme=dark] .type-badge--project,:root[data-theme=dark] .type-badge--writing,:root[data-theme=dark] .type-badge--talk,:root[data-theme=dark] .type-badge--certification,:root[data-theme=dark] .type-badge--experience,:root[data-theme=dark] .type-badge--conference,:root[data-theme=dark] .type-badge--hackathon,:root[data-theme=dark] .type-badge--meetup,:root[data-theme=dark] .type-badge--building,:root[data-theme=dark] .type-badge--learning,:root[data-theme=dark] .type-badge--reading{--badge-color:var(--badge-color-dark)}.badges-uniform [class*=type-badge--],.badges-uniform .type-badge,.badges-uniform .compact-type-badge{background:var(--muted);color:var(--accent)}.status-badge{white-space:nowrap;border-radius:.25rem;align-items:center;gap:.25rem;padding:.0625rem .375rem;font-size:.625rem;font-weight:500;display:inline-flex}.status-badge svg{flex-shrink:0;width:6px;height:6px}.status-active{--status-color:var(--clr-green);background:var(--status-color)}@supports (color:color-mix(in lab,red,red)){.status-active{background:color-mix(in srgb,var(--status-color)10%,transparent)}}.status-active{color:var(--status-color)}.status-maintained{--status-color:var(--clr-blue);background:var(--status-color)}@supports (color:color-mix(in lab,red,red)){.status-maintained{background:color-mix(in srgb,var(--status-color)10%,transparent)}}.status-maintained{color:var(--status-color)}.status-archived{--status-color:#a1a1aa;background:var(--status-color)}@supports (color:color-mix(in lab,red,red)){.status-archived{background:color-mix(in srgb,var(--status-color)15%,transparent)}}.status-archived{color:var(--status-color)}.featured-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--clr-gold);border-radius:.25rem;align-items:center;gap:.1875rem;padding:.0625rem .375rem;font-size:.625rem;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.featured-badge{background:color-mix(in srgb,var(--clr-gold)15%,transparent)}}.featured-badge{color:var(--clr-gold);white-space:nowrap}.tag-chip{color:var(--accent);opacity:.8;font-size:.75rem;text-decoration:none;transition:opacity .15s}.tag-link{cursor:pointer;text-decoration:none;transition:opacity .15s}.tag-link:hover{opacity:1;text-underline-offset:2px;text-decoration:underline}.compact-list{border-top:1px dashed var(--border);flex-direction:column;gap:.25rem;margin-top:1.5rem;padding-top:1rem;display:flex}.compact-card{cursor:pointer;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.5rem;width:100%;min-height:2.25rem;padding:.5rem .75rem;transition:border-color .15s,background .15s;display:flex}.compact-card:hover{border-color:var(--border);background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.compact-card:hover{background:color-mix(in srgb,var(--muted)30%,transparent)}}.compact-type-badge{background:var(--muted);color:var(--accent);white-space:nowrap;border-radius:.25rem;flex-shrink:0;padding:.0625rem .375rem;font-size:.6875rem;font-weight:500}.compact-title{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.compact-org{opacity:.5;white-space:nowrap;flex-shrink:0;font-size:.75rem}.compact-date{opacity:.4;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.6875rem}.compact-preview{background:var(--background);border:1px solid var(--border);width:min(18rem,80vw);box-shadow:0 4px 20px var(--foreground);border-radius:.5rem;display:none;position:fixed}@supports (color:color-mix(in lab,red,red)){.compact-preview{box-shadow:0 4px 20px color-mix(in srgb,var(--foreground)12%,transparent)}}.compact-preview{z-index:50;pointer-events:none;opacity:0;transition:opacity .12s ease-out;overflow:hidden}.compact-preview.visible{opacity:1;display:block}.compact-preview-thumb{background:var(--muted);width:100%;height:4rem;position:relative;overflow:hidden}.compact-preview-thumb img{object-fit:cover;width:100%;height:100%}.compact-preview-fade{background:linear-gradient(to top,var(--background)0%,transparent 60%);pointer-events:none;position:absolute;inset:0}.compact-preview-body{padding:.625rem .75rem}.compact-preview-desc{opacity:.7;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.compact-preview-tags{flex-wrap:wrap;gap:.25rem;margin-top:.5rem;display:flex}.compact-preview-more{opacity:.4;font-size:.625rem}.hero-card{border:1px solid var(--border);cursor:pointer;border-radius:.5rem;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.hero-card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hero-card:hover{border-color:color-mix(in srgb,var(--accent)40%,transparent)}}.hero-card:hover{box-shadow:0 4px 20px var(--accent)}@supports (color:color-mix(in lab,red,red)){.hero-card:hover{box-shadow:0 4px 20px color-mix(in srgb,var(--accent)8%,transparent)}}.hero-card-image{width:100%;height:10rem;position:relative;overflow:hidden}.hero-card-image img{object-fit:cover;width:100%;height:100%}.hero-card-overlay{background:linear-gradient(to bottom,transparent,var(--background));height:60%;position:absolute;bottom:0;left:0;right:0}.hero-card-content{padding:1rem 1.25rem 1.25rem}.hero-card-title{color:var(--accent);margin-top:.5rem;font-size:1.25rem;font-weight:600;line-height:1.3}.hero-card-desc{opacity:.7;margin-top:.375rem;font-size:.875rem;line-height:1.5}.hero-card-footer{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.minimal-card{border-bottom:1px solid var(--border);cursor:pointer;border-radius:.25rem;gap:1rem;padding:.75rem 0;transition:background .15s;display:flex}.minimal-card:hover{background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.minimal-card:hover{background:color-mix(in srgb,var(--muted)30%,transparent)}}.minimal-card-left{flex-shrink:0;width:4.5rem;padding-top:.125rem}.minimal-card-date{opacity:.5;white-space:nowrap;font-size:.75rem}.minimal-card-right{flex:1;min-width:0}.minimal-card-header{align-items:baseline;gap:.5rem;display:flex}.minimal-card-title{color:var(--accent);font-size:.9375rem;font-weight:500}.minimal-card-desc{opacity:.6;margin-top:.25rem;font-size:.8125rem;line-height:1.4}.grid-board{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));align-items:stretch;gap:1rem;padding:0;list-style:none;display:grid}.grid-board .work-item{margin-top:0;position:relative}.grid-board--3col{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense}.grid-board--3col .work-item--featured{grid-column:span 2}@media (max-width:768px){.grid-board--3col{grid-template-columns:1fr}.grid-board--3col .work-item--featured{grid-column:span 1}}@media (min-width:769px) and (max-width:1024px){.grid-board--3col{grid-template-columns:repeat(2,1fr)}}.grid-board--3col>.work-item{position:relative}.grid-board--3col>.work-item:after{content:"";background:var(--border);width:1px;height:.5rem;position:absolute;bottom:-.5rem;left:50%;transform:translate(-.5px)}.grid-board--3col>.work-item:last-child:after{display:none}.grid-board--2x2>.work-item{position:relative}.grid-board--2x2>.work-item:before{content:"";background:var(--border);width:1px;height:.5rem;position:absolute;top:-.5rem;left:50%;transform:translate(-.5px)}.grid-board--2x2{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));grid-auto-rows:1fr;margin-top:1rem;margin-bottom:1.5rem}.grid-board--2x3{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));grid-auto-rows:1fr;margin-top:1.5rem}.grid-card{border:1px solid var(--border);cursor:pointer;border-radius:.5rem;flex-direction:column;height:100%;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden}.grid-card:hover{border-color:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.grid-card:hover{border-color:color-mix(in srgb,var(--clr-primary)40%,transparent)}}.grid-card:hover{box-shadow:0 4px 16px var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.grid-card:hover{box-shadow:0 4px 16px color-mix(in srgb,var(--clr-primary)8%,transparent)}}.grid-card:hover{transform:translateY(-2px)}.grid-card-thumb{background:var(--muted);width:100%;height:5rem;position:relative;overflow:hidden}.grid-card-thumb:after{content:"";background:linear-gradient(to bottom,transparent,var(--background));height:50%;position:absolute;bottom:0;left:0;right:0}.grid-card-thumb img{object-fit:cover;width:100%;height:100%}.grid-board--2x2>:nth-child(n+3) .grid-card-thumb,.grid-board--2x3 .grid-card-thumb{display:none}.grid-board--2x3 .grid-card-body{padding:.5rem .625rem}.grid-board--2x3 .grid-card-footer{display:none}.grid-card-body{flex-direction:column;flex:1;gap:.25rem;padding:.75rem;display:flex}.grid-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.grid-card-date{opacity:.4;white-space:nowrap;flex-shrink:0;align-items:center;gap:.1875rem;font-size:.75rem;display:inline-flex}.grid-card-title{color:var(--accent);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.grid-card-desc{opacity:.7;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.grid-board--3col .grid-card-desc{-webkit-line-clamp:4}.grid-card-footer{justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.timeline-board{padding:0 0 0 1.5rem;list-style:none;position:relative}.timeline-board:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:.4375rem}.timeline-item{padding-bottom:1rem;position:relative}.timeline-dot-wrap{justify-content:center;width:.9375rem;display:flex;position:absolute;top:.625rem;left:-1.5rem}.timeline-dot{background:var(--muted);border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.timeline-dot-featured{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab,red,red)){.timeline-dot-featured{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)20%,transparent)}}.timeline-card{cursor:pointer;border:1px solid #0000;border-radius:.5rem;padding:.75rem 1rem;transition:border-color .15s,background .15s}.timeline-card:hover{border-color:var(--border);background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.timeline-card:hover{background:color-mix(in srgb,var(--muted)20%,transparent)}}.timeline-card-featured{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.timeline-card-featured{border-color:color-mix(in srgb,var(--accent)20%,transparent)}}.timeline-card-featured{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.timeline-card-featured{background:color-mix(in srgb,var(--accent)3%,transparent)}}.timeline-date{opacity:.4;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem;font-size:.6875rem;font-weight:600}.timeline-title{color:var(--accent);margin-top:.25rem;font-size:.9375rem;font-weight:600;line-height:1.3}.timeline-desc{opacity:.6;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.active-tags-desktop,.active-tags-mobile,.active-tags-container,.active-tags-area{flex-wrap:wrap;gap:.375rem;display:flex}.active-tags-desktop:empty,.active-tags-mobile:empty,.active-tags-container:empty,.active-tags-area:empty{display:none}.active-tags-desktop{margin-top:.75rem}.active-tags-mobile{margin-top:.5rem;padding-bottom:.25rem}.active-tags-container,.active-tags-area{margin-bottom:.75rem}.tag-pill{background:var(--accent);color:var(--background);white-space:nowrap;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;text-decoration:none;transition:opacity .15s;display:inline-flex}.tag-pill:hover{opacity:.8}.filter-mobile{margin-bottom:1rem;display:block}.filter-mobile-scroll{flex-wrap:wrap;gap:.5rem;padding-bottom:.25rem;display:flex}.filter-desktop{display:none}@media (min-width:1024px){.filter-mobile{display:none}.filter-desktop{z-index:5;opacity:0;pointer-events:none;transition:opacity .25s;display:block;position:fixed;top:50%;right:1.5rem;transform:translateY(-50%)}.filter-desktop.filter-visible{opacity:1;pointer-events:auto}.filter-nav{flex-direction:column;align-items:flex-end;gap:.625rem;display:flex}}.tags-sidebar-desktop{display:none}@media (min-width:1024px){.tags-sidebar-desktop{right:1rem;top:var(--tags-sidebar-top,10rem);z-index:5;max-width:16rem;display:block;position:fixed}html:has(dialog[open]) .tags-sidebar-desktop{display:none}.tags-sidebar-nav{flex-wrap:wrap;justify-content:flex-end;gap:.5rem .625rem;display:flex}}.filter-link{color:var(--foreground);opacity:.4;text-underline-offset:3px;cursor:pointer;white-space:nowrap;font-size:.75rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:all .15s}.filter-link:hover{opacity:.75;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent)}.filter-link.active{opacity:1;color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.modal-article{flex-direction:column;display:flex}.modal-cover{background:var(--muted);width:100%;height:18rem;margin:0;position:relative;overflow:hidden}.modal-cover img{object-fit:cover;width:100%;height:100%;display:block}.modal-cover-overlay{background:linear-gradient(to top,var(--background)0%,transparent 50%);pointer-events:none;position:absolute;inset:0}.modal-body{padding:1.25rem 1rem 1.5rem}.modal-article .modal-body:first-child{border-top:3px solid var(--accent);padding-top:3rem}.modal-cover+.modal-body{margin-top:-2rem;position:relative}@media (min-width:640px){.modal-cover{height:22rem}.modal-body{padding:1.5rem 2rem 2rem}.modal-cover+.modal-body{margin-top:-3rem}}.modal-eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:.375rem;font-size:.75rem;font-weight:600}.modal-title{color:var(--foreground);font-size:1.5rem;font-weight:700;line-height:1.25}@media (min-width:640px){.modal-title{font-size:1.875rem}}.modal-subtitle{opacity:.7;margin-top:.5rem;font-size:.9375rem;line-height:1.5}.modal-meta-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;padding:.75rem 0;display:flex}.modal-meta-item{align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.org-favicon{vertical-align:-.1em;border-radius:2px;flex-shrink:0;width:.875em;height:.875em;display:inline-block}.modal-meta-label{text-transform:uppercase;letter-spacing:.04em;opacity:.5;font-size:.6875rem;font-weight:600}.modal-highlights{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.modal-highlight-card{border:1px solid var(--border);background:var(--muted);border-radius:.5rem;flex-direction:column;align-items:center;padding:.75rem .5rem;display:flex}@supports (color:color-mix(in lab,red,red)){.modal-highlight-card{background:color-mix(in srgb,var(--muted)30%,transparent)}}.modal-highlight-card{text-align:center}.modal-highlight-value{color:var(--accent);font-size:1.25rem;font-weight:700;line-height:1.2}.modal-highlight-label{opacity:.6;margin-top:.25rem;font-size:.6875rem}.modal-gallery{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.75rem;margin-top:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.modal-gallery-item{scroll-snap-align:start;flex:none;width:14rem;margin:0}.modal-gallery-item img{object-fit:cover;border:1px solid var(--border);cursor:zoom-in;border-radius:.375rem;width:100%;height:10rem;transition:transform .15s}.modal-gallery-item img:hover{transform:scale(1.02)}.modal-gallery-video{border:1px solid var(--border);border-radius:.375rem;width:100%;position:relative;overflow:hidden}.modal-gallery-video iframe{aspect-ratio:16/9;border:none;width:100%;display:block}.modal-gallery-video .video-theater-overlay{gap:0;padding:.25rem;position:absolute;top:.375rem;right:.375rem}.modal-gallery-video:hover .video-theater-overlay{opacity:1}.modal-gallery-item figcaption{opacity:.6;text-align:center;white-space:nowrap;text-overflow:ellipsis;margin-top:.375rem;font-size:.6875rem;overflow:hidden}.modal-tags{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.modal-link-bar{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.modal-action-btn{border:1px solid var(--accent);color:var(--accent);border-radius:.375rem;align-items:center;gap:.375rem;padding:.4375rem .875rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.modal-action-btn:hover{background:var(--accent);color:var(--background)}.modal-divider{border:none;border-top:1px dashed var(--border);margin:1.25rem 0}.modal-tech{border-top:1px dashed var(--border);margin-top:2rem;padding-top:1.25rem}.modal-tech-heading{text-transform:uppercase;letter-spacing:.04em;opacity:.5;margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.modal-tech-list{flex-wrap:wrap;gap:.375rem;display:flex}.tech-chip{white-space:nowrap;padding:.1875rem .5rem;font-size:.6875rem;font-weight:500}.tech-chip--muted-badges{background:var(--muted);color:var(--foreground);opacity:.8;border-radius:.25rem}.tech-chip--two-tone{background:var(--accent);border-radius:9999px}@supports (color:color-mix(in lab,red,red)){.tech-chip--two-tone{background:color-mix(in srgb,var(--accent)15%,transparent)}}.tech-chip--two-tone{color:var(--accent)}.tech-chip--left-border{border-left:2px solid var(--accent);background:var(--muted);color:var(--foreground);opacity:.8}.tech-chip--outlined{border:1px solid var(--accent);color:var(--accent);border-radius:9999px}.tech-chip--filled-pills{background:var(--accent);color:var(--background);opacity:.85;border-radius:9999px}.tech-comma-list{opacity:.7;font-size:.8125rem;line-height:1.6}.tech-dot-list{opacity:.6;letter-spacing:.01em;font-size:.8125rem}.modal-timeline{margin-top:1.25rem}.modal-timeline-heading{text-transform:uppercase;letter-spacing:.04em;opacity:.5;margin-bottom:.75rem;font-size:.8125rem;font-weight:600}.modal-timeline-list{margin:0;padding:0 0 0 1.25rem;list-style:none;position:relative}.modal-timeline-list:before{content:"";background:var(--border);width:2px;position:absolute;top:.375rem;bottom:.375rem;left:.3125rem}.modal-timeline-entry{padding-bottom:1rem;position:relative}.modal-timeline-entry-last{padding-bottom:0}.modal-timeline-dot{background:var(--accent);border:2px solid var(--background);width:.625rem;height:.625rem;box-shadow:0 0 0 2px var(--accent);z-index:1;border-radius:50%;position:absolute;top:.375rem;left:-1.25rem}.modal-timeline-content{flex-direction:column;gap:.125rem;display:flex}.modal-timeline-date{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem;font-weight:600}.modal-timeline-title{color:var(--foreground);font-size:.875rem;font-weight:600}.modal-timeline-desc{opacity:.6;margin:0;font-size:.8125rem;line-height:1.4}.modal-prose{font-size:.9375rem;line-height:1.7}.modal-article .app-prose img{cursor:zoom-in;border:1px solid var(--border);border-radius:.5rem;max-width:100%;height:auto;margin:1.25rem 0;transition:transform .2s}.modal-article .app-prose img:hover{transform:scale(1.01)}.modal-article .app-prose iframe,.modal-article .app-prose video{aspect-ratio:16/9;border:1px solid var(--border);border-radius:.5rem;width:100%}.video-theater-wrap{border-radius:.5rem;margin:1.25rem 0;position:relative;overflow:hidden}.video-theater-overlay{color:#fff;cursor:pointer;opacity:0;z-index:2;pointer-events:auto;background:#0009;border-radius:.375rem;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.6875rem;font-weight:500;transition:opacity .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.video-theater-wrap:hover .video-theater-overlay{opacity:1}.video-theater-overlay:hover{background:#000000d9}.modal-article .app-prose figure{margin:1.25rem 0}.modal-article .app-prose figure figcaption{text-align:center;opacity:.6;margin-top:.5rem;font-size:.8125rem}.modal-article .app-prose blockquote{border-left:3px solid var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.modal-article .app-prose blockquote{background:color-mix(in srgb,var(--accent)5%,transparent)}}.modal-article .app-prose blockquote{border-radius:0 .375rem .375rem 0;margin:1.25rem 0;padding:.75rem 1rem}.modal-article .app-prose table{border-collapse:collapse;width:100%;margin:1.25rem 0;font-size:.8125rem}.media-lightbox{background:0 0;border:none;border-radius:.5rem;max-width:95vw;max-height:95vh;margin:auto;padding:0;overflow:visible}.media-lightbox::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9}.media-lightbox .lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex}.media-lightbox .lightbox-content img{object-fit:contain;border-radius:.375rem;max-width:90vw;max-height:85vh}.media-lightbox .lightbox-content iframe,.media-lightbox .lightbox-content video{aspect-ratio:16/9;border:none;border-radius:.375rem;width:80vw}.media-lightbox .lightbox-close{top:.5rem;right:.5rem}.archive-year-section{margin-bottom:2.5rem}.archive-year-heading{color:var(--foreground);margin-bottom:1.25rem;font-size:1.5rem;font-weight:700}.archive-count{opacity:.4;margin-left:.25rem;font-size:.75rem;font-weight:400}.archive-month-group{flex-direction:column;margin-bottom:1.5rem;display:flex}@media (min-width:640px){.archive-month-group{flex-direction:row;gap:2rem}}.archive-month-label{color:var(--foreground);opacity:.7;flex-shrink:0;min-width:9rem;margin-bottom:.75rem;font-size:1.0625rem;font-weight:600}@media (min-width:640px){.archive-month-label{text-align:right;margin-bottom:0}}.archive-month-list{flex:1;margin:0;padding:0;list-style:none}.archive-item{border-bottom:1px solid var(--border);padding:.75rem 0}.archive-item:last-child{border-bottom:none}.archive-item-title{color:var(--accent);font-size:1rem;font-weight:500;text-decoration:none;transition:opacity .15s}.archive-item-title:hover{opacity:.75;text-underline-offset:3px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.archive-item-meta{opacity:.6;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.8125rem;display:flex}.archive-updated-label{font-style:italic}.archive-item-desc{opacity:.6;margin-top:.25rem;font-size:.8125rem;line-height:1.5}.hero-section{background-color:var(--background);margin-bottom:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:8rem calc(50vw - 50%);position:relative;overflow:hidden}.hero-bg--dot-grid{background:radial-gradient(circle,var(--dot-grid)1px,transparent 1px),var(--background);background-size:24px 24px,auto;position:relative}.hero-bg--dot-grid:after{content:"";background:linear-gradient(to bottom,transparent,var(--background));pointer-events:none;height:18%;position:absolute;bottom:0;left:0;right:0}:root[data-theme=dark] .hero-bg--dot-grid{background:radial-gradient(circle,var(--dot-grid)1px,transparent 1px),var(--background);background-size:24px 24px,auto}.hero-bg--dual-glow{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse at 20% 40%,#3b82f680 0%,transparent 50%),radial-gradient(ellipse at 80% 40%,#8b5cf680 0%,transparent 50%),linear-gradient(135deg,#f1f5f9,#f8fafc)}:root[data-theme=dark] .hero-bg--dual-glow{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse at 20% 40%,var(--accent)0%,transparent 60%),radial-gradient(ellipse at 80% 40%,var(--clr-primary)0%,transparent 60%),var(--background)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .hero-bg--dual-glow{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse at 20% 40%,color-mix(in srgb,var(--accent)14%,transparent)0%,transparent 60%),radial-gradient(ellipse at 80% 40%,color-mix(in srgb,var(--clr-primary)12%,transparent)0%,transparent 60%),var(--background)}}.hero-bg--mesh{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse at 15% 30%,#3b82f670 0%,transparent 45%),radial-gradient(ellipse at 85% 25%,#8b5cf670 0%,transparent 45%),radial-gradient(ellipse at 50% 70%,#6366f160 0%,transparent 45%),radial-gradient(ellipse at 75% 55%,#06b6d460 0%,transparent 40%),linear-gradient(160deg,#f1f5f9,#faf5ff,#f8fafc)}:root[data-theme=dark] .hero-bg--mesh{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse at 15% 30%,var(--accent)0%,transparent 50%),radial-gradient(ellipse at 85% 25%,var(--clr-primary)0%,transparent 50%),radial-gradient(ellipse at 50% 80%,var(--accent)0%,transparent 50%),radial-gradient(ellipse at 75% 65%,var(--clr-primary)0%,transparent 45%),var(--background)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .hero-bg--mesh{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse at 15% 30%,color-mix(in srgb,var(--accent)14%,transparent)0%,transparent 50%),radial-gradient(ellipse at 85% 25%,color-mix(in srgb,var(--clr-primary)12%,transparent)0%,transparent 50%),radial-gradient(ellipse at 50% 80%,color-mix(in srgb,var(--accent)10%,transparent)0%,transparent 50%),radial-gradient(ellipse at 75% 65%,color-mix(in srgb,var(--clr-primary)8%,transparent)0%,transparent 45%),var(--background)}}.hero-bg--aurora{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse 120% 40% at 50% 0%,#86efac30 0%,transparent 100%),radial-gradient(ellipse 100% 35% at 30% 40%,#93c5fd2a 0%,transparent 100%),radial-gradient(ellipse 110% 30% at 70% 75%,#c4b5fd22 0%,transparent 100%),linear-gradient(180deg,#ecfdf5 0%,#eff6ff 40%,var(--background)100%)}:root[data-theme=dark] .hero-bg--aurora{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(ellipse 130% 35% at 50% 0%,#065f4620 0%,transparent 100%),radial-gradient(ellipse 100% 30% at 25% 40%,#0c4a6e22 0%,transparent 100%),radial-gradient(ellipse 110% 25% at 70% 70%,#4c1d9518 0%,transparent 100%),radial-gradient(ellipse 90% 20% at 55% 25%,#14532d15 0%,transparent 100%),linear-gradient(180deg,#022c2210 0%,var(--background)100%)}.hero-bg--spotlight{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(circle at 50% 42%,#6366f150 0%,#3b82f630 30%,transparent 55%),radial-gradient(ellipse 80% 60% at 50% 47%,#8b5cf620 0%,transparent 65%),#f8fafc}:root[data-theme=dark] .hero-bg--spotlight{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(circle at 50% 45%,var(--accent)0%,var(--accent)30%,transparent 55%),radial-gradient(ellipse 80% 60% at 50% 50%,var(--clr-primary)0%,transparent 70%),var(--background)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .hero-bg--spotlight{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent)22%,transparent)0%,color-mix(in srgb,var(--accent)8%,transparent)30%,transparent 55%),radial-gradient(ellipse 80% 60% at 50% 50%,color-mix(in srgb,var(--clr-primary)10%,transparent)0%,transparent 70%),var(--background)}}.hero-bg--sunset{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),linear-gradient(135deg,#fed7aa40,#fecaca28 25%,#e9d5ff30 55%,#c4b5fd28),linear-gradient(135deg,#fffbeb,#fef3f2 35%,#faf5ff 65%,#f5f3ff)}:root[data-theme=dark] .hero-bg--sunset{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),linear-gradient(135deg,#f973161a 0%,var(--accent)35%,var(--clr-primary)65%,#8b5cf61a 100%),var(--background)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .hero-bg--sunset{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),linear-gradient(135deg,#f973161a,color-mix(in srgb,var(--accent)12%,transparent)35%,color-mix(in srgb,var(--clr-primary)14%,transparent)65%,#8b5cf61a),var(--background)}}.hero-bg--frosted{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.1'/%3E%3C/svg%3E"),radial-gradient(ellipse at 25% 35%,#93c5fd33 0%,transparent 50%),radial-gradient(ellipse at 75% 55%,#a5b4fc28 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,#bfdbfe20 0%,transparent 45%),linear-gradient(180deg,#dbeafe,#e0e7ff,#ede9fe);-webkit-backdrop-filter:blur(6px)saturate(1.2)}:root[data-theme=dark] .hero-bg--frosted{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E"),radial-gradient(ellipse at 30% 40%,#3b82f61a 0%,transparent 55%),radial-gradient(ellipse at 70% 60%,#6366f114 0%,transparent 55%),linear-gradient(180deg,#1e3a5f 0%,var(--background)100%)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .hero-bg--frosted{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E"),radial-gradient(ellipse at 30% 40%,#3b82f61a 0%,transparent 55%),radial-gradient(ellipse at 70% 60%,#6366f114 0%,transparent 55%),linear-gradient(180deg,color-mix(in srgb,#1e3a5f 25%,var(--background))0%,var(--background)100%)}}.hero-bg--cyber{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),repeating-linear-gradient(0deg,transparent,transparent 59px,#0d7c8c14 59px,#0d7c8c14 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,#0d7c8c14 59px,#0d7c8c14 60px),linear-gradient(180deg,#0d7c8c0a 0%,transparent 40%),var(--background)}.hero-bg--cyber:before{content:"";opacity:.5;pointer-events:none;background:linear-gradient(#0000,#0d7c8c0f 50%,#0000 50.5% 100%) 0 0/100% 8px;position:absolute;inset:0}:root[data-theme=dark] .hero-bg--cyber{background:linear-gradient(to bottom,transparent 60%,var(--background)100%),repeating-linear-gradient(0deg,transparent,transparent 59px,#22d3ee12 59px,#22d3ee12 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,#22d3ee12 59px,#22d3ee12 60px),radial-gradient(ellipse at 50% 30%,#22d3ee0f 0%,transparent 60%),var(--background)}:root[data-theme=dark] .hero-bg--cyber:before{opacity:.3;background:linear-gradient(#0000,#22d3ee0d 50%,#0000 50.5% 100%) 0 0/100% 8px}.hero-bg--gradient-mesh{background:linear-gradient(to bottom,transparent 55%,var(--background)100%),conic-gradient(from 220deg at 70% 30%,#3b82f640,#8b5cf640,#ec489935,#06b6d430,#f59e0b30,#16a34a30,#3b82f640 360deg),var(--background)}:root[data-theme=dark] .hero-bg--gradient-mesh{background:linear-gradient(to bottom,transparent 55%,var(--background)100%),conic-gradient(from 220deg at 70% 30%,#3b82f620,#8b5cf620,#ec489918,#06b6d418,#f59e0b15,#16a34a15,#3b82f620 360deg),var(--background)}.hero-snake-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-greeting{opacity:.5;margin-bottom:.25rem;font-size:1rem}.hero-at-link{color:var(--clr-primary);text-decoration:none}.hero-at-link:hover{text-decoration:underline}.hero-headline{color:var(--clr-primary);height:2.1rem;font-size:1.75rem;font-weight:800;line-height:1.2}@media (min-width:640px){.hero-headline{height:2.4rem;font-size:2rem}}.hero-typed-wrap{align-items:baseline;display:inline-flex}#hero-typed{white-space:nowrap;display:inline}.hero-cursor{width:2px;color:var(--accent);opacity:.7;-webkit-user-select:none;user-select:none;pointer-events:none;margin-left:2px;font-weight:300;animation:.7s ease-in-out infinite cursor-blink;display:inline-block}.hero-cursor.blink-off{opacity:0;animation:none}@keyframes cursor-blink{0%,to{opacity:.7}50%{opacity:0}}.hero-pitch{margin-top:.25rem;font-size:1.375rem;font-weight:600;line-height:1.4}@media (min-width:640px){.hero-pitch{font-size:1.5rem}}.hero-keywords{margin-top:.25rem;font-size:1.375rem;font-weight:600;line-height:1.4}@media (min-width:640px){.hero-keywords{font-size:1.5rem}}.hero-kw{color:var(--clr-primary)}.hero-pills{flex-wrap:wrap;gap:.375rem;margin-top:1rem;display:flex}@media (max-width:639px){.hero-pills{justify-content:center}}.hero-pill{border:.5px solid var(--accent);color:var(--foreground);opacity:.8;border-radius:9999px;align-items:center;gap:.25rem;padding:.3rem .7rem;font-size:.8125rem;display:inline-flex}.hero-pill a{color:inherit;text-decoration:none}.hero-pill a:hover{text-decoration:underline}.hero-pill--muted{opacity:.8}.hero-trending{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}@media (max-width:639px){.hero-trending{justify-content:center}}.hero-trending-pill{background:var(--muted);border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem}@supports (color:color-mix(in lab,red,red)){.hero-trending-pill{background:color-mix(in srgb,var(--muted)60%,transparent)}}.hero-trending-pill{color:var(--foreground);opacity:.5;letter-spacing:.02em}.hero-socials{margin-top:1rem}.hero-photo{object-fit:cover;border-radius:9999px}.text-highlight{color:var(--clr-primary);font-weight:500}.about-section{border-bottom:1px solid var(--border);padding-top:6rem;padding-bottom:5rem}.about-body{flex-direction:column;gap:.6rem;font-size:1.05rem;line-height:1.75;display:flex}.about-line{color:var(--foreground);opacity:.7;margin:0}.about-line .text-highlight{opacity:1;color:var(--clr-primary);font-weight:600}.about-line--big{opacity:1;color:var(--foreground);margin-top:.5rem;font-size:1.35rem;font-weight:700}.about-line--big .text-highlight{color:var(--clr-primary)}.about-line--muted{opacity:.45;font-size:.95rem}.about-line--italic{opacity:.55;font-family:Georgia,Times New Roman,serif;font-style:italic}.experience-section{padding-top:2rem;padding-bottom:1.5rem}.experience-heading{letter-spacing:.025em;font-size:1.5rem;font-weight:600}.comp-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem;margin-top:1.5rem;margin-bottom:.5rem;display:grid}.comp-card{border:1px solid var(--border);background:var(--muted);border-radius:.625rem;padding:1rem}@supports (color:color-mix(in lab,red,red)){.comp-card{background:color-mix(in srgb,var(--muted)15%,transparent)}}.comp-card{transition:border-color .2s,background .2s}.comp-card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.comp-card:hover{border-color:color-mix(in srgb,var(--accent)30%,var(--border))}}.comp-card:hover{background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.comp-card:hover{background:color-mix(in srgb,var(--muted)30%,transparent)}}.comp-card-icon{color:var(--clr-primary);opacity:.7;margin-bottom:.5rem}.comp-card-title{font-size:.875rem;font-weight:600;line-height:1.3}.comp-card-desc{opacity:.55;margin-top:.375rem;font-size:.75rem;line-height:1.5}.exp-clients{border-top:1px dashed var(--border);margin-top:1.5rem;padding-top:1.25rem}.exp-clients-label{text-transform:uppercase;letter-spacing:.05em;opacity:.4;font-size:.6875rem;font-weight:600}.exp-clients-row{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:.75rem;display:flex}.exp-client-link{color:var(--foreground);opacity:.4;align-items:center;gap:.375rem;text-decoration:none;transition:opacity .15s;display:inline-flex}.exp-client-link:hover{opacity:.8}.exp-client-logo{object-fit:contain;width:auto;height:1.25rem}.exp-client-name{font-size:.75rem;font-weight:500}.experience-list{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.exp-card{border:1px solid var(--border);background:var(--background);border-radius:.75rem;padding:1.25rem;transition:border-color .2s,box-shadow .2s}.exp-card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.exp-card:hover{border-color:color-mix(in srgb,var(--accent)30%,var(--border))}}.exp-card:hover{box-shadow:0 2px 12px var(--accent)}@supports (color:color-mix(in lab,red,red)){.exp-card:hover{box-shadow:0 2px 12px color-mix(in srgb,var(--accent)5%,transparent)}}.exp-card--current{border-left:3px solid var(--accent)}.exp-card-header{align-items:flex-start;gap:.75rem;display:flex}.exp-logo{background:var(--muted);border-radius:.625rem;flex-shrink:0;width:2.5rem;height:2.5rem;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.exp-logo{background:color-mix(in srgb,var(--muted)40%,transparent)}}.exp-logo{justify-content:center;align-items:center;display:flex}.exp-logo img{object-fit:contain;width:100%;height:100%}.exp-logo--fallback{color:var(--accent);font-size:1rem;font-weight:700}.exp-card-title{flex:1;min-width:0}.exp-role{font-size:.9375rem;font-weight:600;line-height:1.3}.exp-company-row{flex-wrap:wrap;align-items:baseline;column-gap:.5rem;margin-top:.125rem;display:flex}.exp-company-link{color:var(--accent);font-size:.8125rem;text-decoration:none}.exp-company-link:hover{text-decoration:underline}.exp-company-text{color:var(--accent);font-size:.8125rem}.exp-dates{opacity:.5;font-size:.75rem}.exp-current-badge{background:var(--accent);border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500}@supports (color:color-mix(in lab,red,red)){.exp-current-badge{background:color-mix(in srgb,var(--accent)10%,transparent)}}.exp-current-badge{color:var(--accent);flex-shrink:0;align-self:flex-start;margin-top:.125rem}.exp-desc{opacity:.7;margin-top:.625rem;font-size:.8125rem;line-height:1.625}.exp-case-studies{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.625rem;margin-top:.75rem;display:grid}.exp-case-card{border:1px solid var(--accent);border-radius:.625rem;padding:.875rem 1rem}@supports (color:color-mix(in lab,red,red)){.exp-case-card{border:1px solid color-mix(in srgb,var(--accent)15%,var(--border))}}.exp-case-card{background:linear-gradient(135deg,var(--accent),transparent)}@supports (color:color-mix(in lab,red,red)){.exp-case-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)5%,transparent),transparent)}}.exp-case-card{transition:border-color .2s,box-shadow .2s}.exp-case-card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.exp-case-card:hover{border-color:color-mix(in srgb,var(--accent)35%,var(--border))}}.exp-case-card:hover{box-shadow:0 2px 8px var(--accent)}@supports (color:color-mix(in lab,red,red)){.exp-case-card:hover{box-shadow:0 2px 8px color-mix(in srgb,var(--accent)6%,transparent)}}.exp-case-header{align-items:center;gap:.5rem;display:flex}.exp-case-icon{color:var(--accent);opacity:.7;flex-shrink:0}.exp-case-title{font-size:.8125rem;font-weight:600}.exp-case-desc{opacity:.6;margin-top:.375rem;font-size:.75rem;line-height:1.5}.exp-case-tech{flex-wrap:wrap;gap:.25rem;margin-top:.5rem;display:flex}.exp-case-tech-pill{background:var(--accent);border-radius:.25rem;padding:.125rem .375rem;font-size:.625rem}@supports (color:color-mix(in lab,red,red)){.exp-case-tech-pill{background:color-mix(in srgb,var(--accent)8%,transparent)}}.exp-case-tech-pill{color:var(--accent);font-weight:500}.exp-achievements{flex-direction:column;gap:.375rem;margin-top:.625rem;display:flex}.exp-achievement-card{opacity:.75;background:var(--muted);border-radius:.375rem;align-items:flex-start;gap:.5rem;padding:.375rem .625rem;font-size:.8125rem;line-height:1.5;display:flex}@supports (color:color-mix(in lab,red,red)){.exp-achievement-card{background:color-mix(in srgb,var(--muted)25%,transparent)}}.exp-achievement-card{transition:background .15s}.exp-achievement-card:hover{background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.exp-achievement-card:hover{background:color-mix(in srgb,var(--muted)45%,transparent)}}.exp-zap{color:var(--accent);opacity:.8;flex-shrink:0;margin-top:.125rem}.exp-skills{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.exp-skill-pill{background:var(--muted);border-radius:.375rem;padding:.1875rem .5rem;font-size:.6875rem}@supports (color:color-mix(in lab,red,red)){.exp-skill-pill{background:color-mix(in srgb,var(--muted)50%,transparent)}}.exp-skill-pill{border:1px solid var(--border);transition:border-color .15s,color .15s}.exp-card:hover .exp-skill-pill{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.exp-card:hover .exp-skill-pill{border-color:color-mix(in srgb,var(--accent)30%,var(--border))}}.exp-card:hover .exp-skill-pill{color:var(--accent)}.skills-section{border-bottom:1px solid var(--border);padding-top:3rem;padding-bottom:1.5rem}.skills-heading{letter-spacing:.025em;font-size:1.5rem;font-weight:600}.skills-layout{grid-template-columns:1fr;gap:2rem;margin-top:1.5rem;display:grid}@media (min-width:640px){.skills-layout{grid-template-columns:14rem 1fr;gap:2rem}}.skills-left{flex-direction:column;gap:1.5rem;display:flex}.skills-left-group{flex-direction:column;gap:.625rem;display:flex}.skills-left-label{font-size:.875rem;font-weight:600}.skills-lang-list{flex-direction:column;gap:.5rem;display:flex}.skills-lang-item{align-items:baseline;gap:.75rem;display:flex}.skills-lang-name{font-size:.9375rem;font-weight:500}.skills-lang-level{color:var(--clr-primary);font-size:.75rem}.skills-soft-list{flex-wrap:wrap;gap:.375rem;display:flex}.skills-soft-pill{border:1px solid var(--clr-primary);border-radius:9999px;padding:.25rem .75rem;font-size:.8125rem}@supports (color:color-mix(in lab,red,red)){.skills-soft-pill{border:1px solid color-mix(in srgb,var(--clr-primary)25%,var(--border))}}.skills-soft-pill{color:var(--clr-primary);transition:all .15s}.skills-soft-pill:hover{background:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.skills-soft-pill:hover{background:color-mix(in srgb,var(--clr-primary)8%,transparent)}}.skills-right-label{margin-bottom:.75rem;font-size:.875rem;font-weight:600}.skills-tech-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem;display:grid}.skills-tech-card{border:1px solid var(--border);background:var(--muted);border-radius:.5rem;padding:.875rem}@supports (color:color-mix(in lab,red,red)){.skills-tech-card{background:color-mix(in srgb,var(--muted)15%,transparent)}}.skills-tech-cat{text-transform:uppercase;letter-spacing:.05em;color:var(--clr-primary);margin-bottom:.5rem;font-size:.6875rem;font-weight:600}.skills-tech-items{flex-wrap:wrap;gap:.375rem;display:flex}.skill-chip{border:1px solid var(--border);border-radius:.25rem;padding:.1875rem .5rem;font-size:.75rem;transition:all .15s}.skill-chip:hover{border-color:var(--accent);color:var(--accent)}.contact-section{padding-top:2rem;padding-bottom:1.5rem}.contact-heading{letter-spacing:.025em;font-size:1.5rem;font-weight:600}.contact-body{margin-top:.75rem;line-height:1.625}.contact-socials{margin-top:1rem}.socials-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}@media (min-width:640px){.socials-row{justify-content:flex-start}}.link-btn{align-items:center;gap:.25rem;display:inline-flex}.link-btn:not([aria-disabled=true]):hover{color:var(--clr-primary)}.link-btn-icon{padding:.5rem;transition:transform .15s}.link-btn-icon:hover{transform:rotate(6deg)}@media (min-width:640px){.link-btn-icon{padding:.25rem}}.link-btn-svg{fill:#0000;stroke:currentColor;stroke-width:2px;opacity:.9;width:1.5rem;height:1.5rem;display:inline-block;transform:scale(1.25)}@media (min-width:640px){.link-btn-svg{transform:scale(1.1)}}.footer-inner{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0;display:flex}.footer-copy{white-space:nowrap;opacity:.5;align-items:center;font-size:.8125rem;display:flex}.footer-divider{display:inline}.work-card-body{cursor:pointer;text-align:left;border:1px solid #0000;border-radius:.5rem;width:100%;padding:1rem;transition:border-color .15s,background .15s}.work-card-body:hover{border-color:var(--border);background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.work-card-body:hover{background:color-mix(in srgb,var(--muted)30%,transparent)}}.work-card-header{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.work-card-title{color:var(--accent);font-size:1.125rem;font-weight:500}.work-card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.work-card-date{opacity:.5;align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.work-card-desc{opacity:.7;margin-top:.25rem;font-size:.875rem}.work-card-tags{flex-wrap:wrap;gap:.5rem;display:flex}.card-icon{vertical-align:-1px;flex-shrink:0}.card-icon--date{color:var(--foreground);opacity:.4}.card-icon--org{color:var(--clr-purple)}.card-icon--role{color:var(--clr-green)}.card-icon--star{color:var(--clr-gold)}.card-icon--zap{color:var(--clr-purple)}.card-icon--accent{color:var(--_accent,var(--clr-primary))}.card-icon--highlight{color:var(--clr-primary);opacity:.7}.card-icon--link{color:var(--clr-blue)}.card-icon--check{color:var(--clr-green)}.card-icon--bot{color:var(--clr-primary)}.card-icon--trending{color:var(--clr-green)}.card-icon--users{color:var(--clr-blue)}.card-org-favicon{vertical-align:-2px;border-radius:2px;width:14px;height:14px}.work-card-highlights{flex-wrap:wrap;gap:.375rem;margin-top:.375rem;display:flex}.work-card-highlight{background:var(--muted);border-radius:.25rem;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.work-card-highlight{background:color-mix(in srgb,var(--muted)60%,transparent)}}.work-card-highlight{color:var(--foreground);opacity:.85}.work-card-highlight strong{color:var(--foreground);font-weight:600}.work-card-footer{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-top:.5rem;display:flex}.work-card-links{flex-shrink:0;align-items:center;gap:.5rem;margin-top:.125rem;display:flex}.work-card-link{opacity:.5;color:var(--foreground);align-items:center;gap:.25rem;font-size:.6875rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.work-card-link:hover{opacity:1}.work-card-link--github{color:var(--clr-purple)}.work-card-org{opacity:.6;align-items:center;gap:.25rem;font-size:.8125rem;display:inline-flex}.work-card-role-inline{opacity:.6;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:500;display:inline-flex}.grid-card-highlights{flex-wrap:wrap;gap:.25rem;margin-top:.125rem;display:flex}.grid-card-highlight{background:var(--muted);border-radius:.1875rem;align-items:center;gap:.1875rem;padding:.0625rem .375rem;font-size:.6875rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.grid-card-highlight{background:color-mix(in srgb,var(--muted)50%,transparent)}}.grid-card-highlight{opacity:.8}.grid-card-highlight strong{color:var(--foreground);font-weight:600}.grid-card-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.grid-card-action{opacity:0;color:var(--foreground);justify-content:center;align-items:center;transition:opacity .15s;display:inline-flex}.grid-card:hover .grid-card-action{opacity:.6}.grid-card-action:hover{opacity:1!important}.grid-card-action--github{color:var(--clr-purple)}.grid-card-arrow{opacity:0;color:var(--foreground);transition:opacity .15s,transform .15s;display:inline-flex}.grid-card:hover .grid-card-arrow{opacity:.4;transform:translate(2px)}.compact-github{opacity:.35;color:var(--clr-purple);flex-shrink:0;align-items:center;transition:opacity .15s;display:inline-flex}.compact-github:hover{opacity:1}.grid-card-featured{border-color:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.grid-card-featured{border-color:color-mix(in srgb,var(--clr-primary)30%,transparent)}}.grid-card-featured{background:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.grid-card-featured{background:color-mix(in srgb,var(--clr-primary)3%,transparent)}}.grid-card-featured:hover{border-color:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.grid-card-featured:hover{border-color:color-mix(in srgb,var(--clr-primary)50%,transparent)}}.grid-card-featured:hover{box-shadow:0 4px 20px var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.grid-card-featured:hover{box-shadow:0 4px 20px color-mix(in srgb,var(--clr-primary)12%,transparent)}}.work-card-body-featured{border-color:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.work-card-body-featured{border-color:color-mix(in srgb,var(--clr-primary)25%,transparent)}}.work-card-body-featured{background:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.work-card-body-featured{background:color-mix(in srgb,var(--clr-primary)3%,transparent)}}.work-card-body-featured{border-left:3px solid var(--clr-primary)}.work-card-body-featured:hover{border-color:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.work-card-body-featured:hover{border-color:color-mix(in srgb,var(--clr-primary)40%,transparent)}}.work-card-body-featured:hover{background:var(--clr-primary)}@supports (color:color-mix(in lab,red,red)){.work-card-body-featured:hover{background:color-mix(in srgb,var(--clr-primary)6%,transparent)}}.work-card-body-featured:hover{border-left-color:var(--clr-primary)}.featured-card{--_accent:var(--card-accent,var(--clr-primary));border:1px solid var(--_accent);flex-direction:column;gap:.625rem;padding:1.25rem;display:flex}@supports (color:color-mix(in lab,red,red)){.featured-card{border:1px solid color-mix(in srgb,var(--_accent)25%,transparent)}}.featured-card{background:var(--_accent);border-radius:.75rem}@supports (color:color-mix(in lab,red,red)){.featured-card{background:color-mix(in srgb,var(--_accent)3%,var(--background))}}.featured-card{cursor:pointer;height:100%;transition:border-color .2s,box-shadow .2s,transform .2s}.featured-card:hover{border-color:var(--_accent)}@supports (color:color-mix(in lab,red,red)){.featured-card:hover{border-color:color-mix(in srgb,var(--_accent)45%,transparent)}}.featured-card:hover{box-shadow:0 4px 24px var(--_accent)}@supports (color:color-mix(in lab,red,red)){.featured-card:hover{box-shadow:0 4px 24px color-mix(in srgb,var(--_accent)10%,transparent)}}.featured-card:hover{transform:translateY(-2px)}.featured-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.featured-card-type-icon{background:var(--_accent);border-radius:.625rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}@supports (color:color-mix(in lab,red,red)){.featured-card-type-icon{background:color-mix(in srgb,var(--_accent)12%,transparent)}}.featured-card-type-icon{color:var(--_accent);flex-shrink:0}.featured-card-status{flex-shrink:0}.featured-card-title{color:var(--foreground);font-size:1.25rem;font-weight:700;line-height:1.3}.featured-card-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.featured-card-org{opacity:.6;align-items:center;gap:.25rem;font-size:.8125rem;display:inline-flex}.featured-card-role{opacity:.6;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:500;display:inline-flex}.featured-card-desc{opacity:.7;font-size:.875rem;line-height:1.5}.featured-card-bullets{flex-direction:column;gap:.375rem;padding:0;list-style:none;display:flex}.featured-card-bullet{opacity:.75;align-items:flex-start;gap:.375rem;font-size:.8125rem;line-height:1.5;display:flex}.featured-card-bullet .card-icon--accent{flex-shrink:0;margin-top:.1875rem}.featured-card-metrics{flex-wrap:wrap;gap:.5rem;display:flex}.featured-card-metric{background:var(--_accent,var(--clr-primary));border-radius:.375rem;flex-direction:column;gap:.125rem;padding:.375rem .625rem;display:flex}@supports (color:color-mix(in lab,red,red)){.featured-card-metric{background:color-mix(in srgb,var(--_accent,var(--clr-primary))5%,var(--background))}}.featured-card-metric{border:1px solid var(--_accent,var(--clr-primary))}@supports (color:color-mix(in lab,red,red)){.featured-card-metric{border:1px solid color-mix(in srgb,var(--_accent,var(--clr-primary))12%,transparent)}}.featured-card-metric-top{align-items:center;gap:.3rem;display:flex}.featured-card-metric-value{color:var(--_accent,var(--clr-primary));font-size:.9375rem;font-weight:700}.featured-card-metric-label{opacity:.5;font-size:.6875rem}.featured-card-tech{flex-wrap:wrap;gap:.3125rem;display:flex}.featured-card-tech-pill{background:var(--muted);border-radius:.25rem;padding:.125rem .5rem;font-size:.6875rem}@supports (color:color-mix(in lab,red,red)){.featured-card-tech-pill{background:color-mix(in srgb,var(--muted)60%,transparent)}}.featured-card-tech-pill{border:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.featured-card-tech-pill{border:1px solid color-mix(in srgb,var(--border)40%,transparent)}}.featured-card-tech-pill{color:var(--foreground);opacity:.7}.featured-card-tech-more{opacity:.4}.featured-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem;display:flex}.featured-card-links{align-items:center;gap:.5rem;display:flex}.featured-card-link{color:var(--foreground);opacity:.5;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .15s,color .15s;display:inline-flex}.featured-card-link:hover{opacity:1;color:var(--_accent,var(--clr-primary))}.featured-card-link--github{color:var(--clr-purple)}.featured-card-arrow{opacity:0;color:var(--_accent,var(--clr-primary));transition:opacity .2s,transform .2s;display:inline-flex}.featured-card:hover .featured-card-arrow{opacity:.7;transform:translate(3px)}.medium-card{cursor:pointer;text-align:left;border:1px solid #0000;border-radius:.5rem;width:100%;padding:1rem;transition:border-color .15s,background .15s}.medium-card:hover{border-color:var(--border);background:var(--muted)}@supports (color:color-mix(in lab,red,red)){.medium-card:hover{background:color-mix(in srgb,var(--muted)30%,transparent)}}.medium-card-featured{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.medium-card-featured{border-color:color-mix(in srgb,var(--accent)25%,transparent)}}.medium-card-featured{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.medium-card-featured{background:color-mix(in srgb,var(--accent)5%,transparent)}}.medium-card-featured:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.medium-card-featured:hover{border-color:color-mix(in srgb,var(--accent)40%,transparent)}}.medium-card-featured:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.medium-card-featured:hover{background:color-mix(in srgb,var(--accent)10%,transparent)}}.grid-card-badges{flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0;display:flex}.grid-card-org{opacity:.5;align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.grid-card-tags{flex-wrap:wrap;gap:.25rem;display:flex}.grid-card-tags-overflow{opacity:.4;font-size:.75rem}.grid-card-tags .tag-chip,.compact-preview-tags .tag-chip{font-size:.625rem}.timeline-badges{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.timeline-org{opacity:.5;font-size:.75rem}.timeline-tags{flex-wrap:wrap;gap:.375rem;margin-top:.375rem;display:flex}.timeline-tags .tag-chip{font-size:.6875rem}.grid-card-cert-banner{background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold));justify-content:center;align-items:center;gap:.5rem;padding:.75rem;display:flex}@supports (color:color-mix(in lab,red,red)){.grid-card-cert-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--clr-gold)10%,transparent),color-mix(in srgb,var(--clr-gold)3%,transparent))}}.grid-card-cert-banner{border-bottom:1px solid var(--clr-gold)}@supports (color:color-mix(in lab,red,red)){.grid-card-cert-banner{border-bottom:1px solid color-mix(in srgb,var(--clr-gold)15%,transparent)}}.cert-issuer-logo{border-radius:.25rem}.cert-shield-icon{color:var(--clr-gold);opacity:.6}.card-design--borderless .grid-card,.card-design--borderless .work-card-body,.card-design--borderless .featured-card{background:0 0;border-color:#0000;border-radius:.375rem}.card-design--borderless .grid-card:hover,.card-design--borderless .work-card-body:hover,.card-design--borderless .featured-card:hover{background:var(--muted);border-color:#0000}@supports (color:color-mix(in lab,red,red)){.card-design--borderless .grid-card:hover,.card-design--borderless .work-card-body:hover,.card-design--borderless .featured-card:hover{background:color-mix(in srgb,var(--muted)25%,transparent)}}.card-design--borderless .grid-card:hover,.card-design--borderless .work-card-body:hover,.card-design--borderless .featured-card:hover{box-shadow:none}.card-design--borderless .grid-card-thumb{border:1px solid var(--border);border-radius:.375rem}.nav-theme-icon{stroke:currentColor;stroke-width:2px;transition:transform .3s,opacity .3s}.nav-theme-icon--moon{opacity:1;width:1.25rem;height:1.25rem;position:absolute;transform:scale(1)rotate(0)}.nav-theme-icon--sun{opacity:0;width:1.25rem;height:1.25rem;position:absolute;transform:scale(0)rotate(90deg)}[data-theme=dark] .nav-theme-icon--moon{opacity:0;transform:scale(0)rotate(-90deg)}[data-theme=dark] .nav-theme-icon--sun{opacity:1;transform:scale(1)rotate(0)}.nav-theme-icon-mobile--moon{opacity:1;width:1rem;height:1rem;position:absolute;top:0;left:0;transform:scale(1)rotate(0)}.nav-theme-icon-mobile--sun{opacity:0;width:1rem;height:1rem;position:absolute;top:0;left:0;transform:scale(0)rotate(90deg)}[data-theme=dark] .nav-theme-icon-mobile--moon{opacity:0;transform:scale(0)rotate(-90deg)}[data-theme=dark] .nav-theme-icon-mobile--sun{opacity:1;transform:scale(1)rotate(0)}.nav-icon-desktop{stroke:currentColor;stroke-width:2px;width:1.25rem;height:1.25rem}.nav-icon-mobile{stroke:currentColor;stroke-width:2px;width:1rem;height:1rem}.nav-back-mobile{opacity:.6;font-size:.875rem;font-weight:500;transition:opacity .15s}.nav-back-mobile:hover{opacity:1}.footer-wrap{margin-top:auto}.work-item{margin-top:1rem}.work-item:first-child{margin-top:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card-design--glass{position:relative}.card-design--glass:before{content:"";background:linear-gradient(135deg,var(--accent)0%,var(--accent)50%,var(--accent)100%);border-radius:1rem;position:absolute;inset:-2px}@supports (color:color-mix(in lab,red,red)){.card-design--glass:before{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)40%,#a855f7),color-mix(in srgb,var(--accent)60%,#3b82f6),color-mix(in srgb,var(--accent)40%,#06b6d4))}}.card-design--glass:before{opacity:.4;filter:blur(8px);z-index:0;transition:opacity .3s}.card-design--glass:hover:before{opacity:.6}.card-design--glass>.work-card-trigger,.card-design--glass>.grid-card{z-index:1;position:relative;background:var(--background)!important}@supports (color:color-mix(in lab,red,red)){.card-design--glass>.work-card-trigger,.card-design--glass>.grid-card{background:color-mix(in srgb,var(--background)75%,transparent)!important}}.card-design--glass>.work-card-trigger,.card-design--glass>.grid-card{-webkit-backdrop-filter:blur(16px)saturate(1.4);border:1px solid var(--foreground)!important}@supports (color:color-mix(in lab,red,red)){.card-design--glass>.work-card-trigger,.card-design--glass>.grid-card{border:1px solid color-mix(in srgb,var(--foreground)10%,transparent)!important}}.card-design--glass>.work-card-trigger,.card-design--glass>.grid-card{box-shadow:0 4px 24px var(--foreground),inset 0 1px #ffffff1a;border-radius:.75rem!important}@supports (color:color-mix(in lab,red,red)){.card-design--glass>.work-card-trigger,.card-design--glass>.grid-card{box-shadow:0 4px 24px color-mix(in srgb,var(--foreground)5%,transparent),inset 0 1px #ffffff1a}}.card-design--glass>.work-card-trigger:hover,.card-design--glass>.grid-card:hover{background:var(--background)!important}@supports (color:color-mix(in lab,red,red)){.card-design--glass>.work-card-trigger:hover,.card-design--glass>.grid-card:hover{background:color-mix(in srgb,var(--background)65%,transparent)!important}}.card-design--glass>.work-card-trigger:hover,.card-design--glass>.grid-card:hover{border-color:var(--foreground)!important}@supports (color:color-mix(in lab,red,red)){.card-design--glass>.work-card-trigger:hover,.card-design--glass>.grid-card:hover{border-color:color-mix(in srgb,var(--foreground)15%,transparent)!important}}.card-design--glass>.work-card-trigger:hover,.card-design--glass>.grid-card:hover{box-shadow:0 8px 32px var(--foreground),inset 0 1px #ffffff26}@supports (color:color-mix(in lab,red,red)){.card-design--glass>.work-card-trigger:hover,.card-design--glass>.grid-card:hover{box-shadow:0 8px 32px color-mix(in srgb,var(--foreground)8%,transparent),inset 0 1px #ffffff26}}.card-design--glass>.work-card-trigger:hover,.card-design--glass>.grid-card:hover{transform:translateY(-2px)}.card-design--accent-bar>.work-card-trigger,.card-design--accent-bar>.grid-card{border:1px solid var(--border)!important;border-left:4px solid #0000!important;border-image:linear-gradient(to bottom,var(--accent),var(--accent))1!important}@supports (color:color-mix(in lab,red,red)){.card-design--accent-bar>.work-card-trigger,.card-design--accent-bar>.grid-card{border-image:linear-gradient(to bottom,var(--accent),color-mix(in srgb,var(--accent)40%,#a855f7))1!important}}.card-design--accent-bar>.work-card-trigger,.card-design--accent-bar>.grid-card{background:linear-gradient(to right,var(--accent),var(--background)40%)!important;border-image-slice:0 0 0 4!important;border-radius:.5rem!important}@supports (color:color-mix(in lab,red,red)){.card-design--accent-bar>.work-card-trigger,.card-design--accent-bar>.grid-card{background:linear-gradient(to right,color-mix(in srgb,var(--accent)4%,var(--background)),var(--background)40%)!important}}.card-design--accent-bar>.work-card-trigger,.card-design--accent-bar>.grid-card{transition:all .25s cubic-bezier(.4,0,.2,1)}.card-design--accent-bar>.work-card-trigger:hover,.card-design--accent-bar>.grid-card:hover{background:linear-gradient(to right,var(--accent),var(--background)50%)!important}@supports (color:color-mix(in lab,red,red)){.card-design--accent-bar>.work-card-trigger:hover,.card-design--accent-bar>.grid-card:hover{background:linear-gradient(to right,color-mix(in srgb,var(--accent)8%,var(--background)),var(--background)50%)!important}}.card-design--accent-bar>.work-card-trigger:hover,.card-design--accent-bar>.grid-card:hover{box-shadow:-4px 0 16px var(--accent)}@supports (color:color-mix(in lab,red,red)){.card-design--accent-bar>.work-card-trigger:hover,.card-design--accent-bar>.grid-card:hover{box-shadow:-4px 0 16px color-mix(in srgb,var(--accent)15%,transparent)}}.card-design--accent-bar>.work-card-trigger:hover,.card-design--accent-bar>.grid-card:hover{transform:translate(2px)}.card-design--gradient>.work-card-trigger,.card-design--gradient>.grid-card{background:radial-gradient(ellipse at 20% 50%,var(--accent)0%,transparent 50%),radial-gradient(ellipse at 80% 20%,#a855f71a 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,#06b6d414 0%,transparent 50%),var(--background)!important}@supports (color:color-mix(in lab,red,red)){.card-design--gradient>.work-card-trigger,.card-design--gradient>.grid-card{background:radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--accent)12%,transparent)0%,transparent 50%),radial-gradient(ellipse at 80% 20%,#a855f71a 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,#06b6d414 0%,transparent 50%),var(--background)!important}}.card-design--gradient>.work-card-trigger,.card-design--gradient>.grid-card{border:1px solid var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--gradient>.work-card-trigger,.card-design--gradient>.grid-card{border:1px solid color-mix(in srgb,var(--accent)15%,transparent)!important}}.card-design--gradient>.work-card-trigger,.card-design--gradient>.grid-card{transition:all .4s cubic-bezier(.4,0,.2,1);border-radius:1rem!important}.card-design--gradient>.work-card-trigger:hover,.card-design--gradient>.grid-card:hover{background:radial-gradient(ellipse at 20% 50%,var(--accent)0%,transparent 50%),radial-gradient(ellipse at 80% 20%,#a855f729 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,#06b6d424 0%,transparent 50%),var(--background)!important}@supports (color:color-mix(in lab,red,red)){.card-design--gradient>.work-card-trigger:hover,.card-design--gradient>.grid-card:hover{background:radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--accent)20%,transparent)0%,transparent 50%),radial-gradient(ellipse at 80% 20%,#a855f729 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,#06b6d424 0%,transparent 50%),var(--background)!important}}.card-design--gradient>.work-card-trigger:hover,.card-design--gradient>.grid-card:hover{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--gradient>.work-card-trigger:hover,.card-design--gradient>.grid-card:hover{border-color:color-mix(in srgb,var(--accent)30%,transparent)!important}}.card-design--gradient>.work-card-trigger:hover,.card-design--gradient>.grid-card:hover{box-shadow:0 8px 32px var(--accent)}@supports (color:color-mix(in lab,red,red)){.card-design--gradient>.work-card-trigger:hover,.card-design--gradient>.grid-card:hover{box-shadow:0 8px 32px color-mix(in srgb,var(--accent)10%,transparent)}}.card-design--gradient>.work-card-trigger:hover,.card-design--gradient>.grid-card:hover{transform:translateY(-2px)scale(1.01)}.card-design--elevated>.work-card-trigger,.card-design--elevated>.grid-card{border:1px solid var(--foreground)!important}@supports (color:color-mix(in lab,red,red)){.card-design--elevated>.work-card-trigger,.card-design--elevated>.grid-card{border:1px solid color-mix(in srgb,var(--foreground)5%,transparent)!important}}.card-design--elevated>.work-card-trigger,.card-design--elevated>.grid-card{box-shadow:0 1px 2px var(--foreground),0 4px 8px var(--foreground),0 12px 32px var(--foreground);background:var(--background)!important;border-radius:1rem!important}@supports (color:color-mix(in lab,red,red)){.card-design--elevated>.work-card-trigger,.card-design--elevated>.grid-card{box-shadow:0 1px 2px color-mix(in srgb,var(--foreground)5%,transparent),0 4px 8px color-mix(in srgb,var(--foreground)4%,transparent),0 12px 32px color-mix(in srgb,var(--foreground)3%,transparent)}}.card-design--elevated>.work-card-trigger,.card-design--elevated>.grid-card{transition:all .35s cubic-bezier(.4,0,.2,1)}.card-design--elevated>.work-card-trigger:hover,.card-design--elevated>.grid-card:hover{transform:translateY(-4px)scale(1.01);border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--elevated>.work-card-trigger:hover,.card-design--elevated>.grid-card:hover{border-color:color-mix(in srgb,var(--accent)20%,transparent)!important}}.card-design--elevated>.work-card-trigger:hover,.card-design--elevated>.grid-card:hover{box-shadow:0 4px 8px var(--foreground),0 12px 24px var(--foreground),0 24px 48px var(--accent)}@supports (color:color-mix(in lab,red,red)){.card-design--elevated>.work-card-trigger:hover,.card-design--elevated>.grid-card:hover{box-shadow:0 4px 8px color-mix(in srgb,var(--foreground)6%,transparent),0 12px 24px color-mix(in srgb,var(--foreground)5%,transparent),0 24px 48px color-mix(in srgb,var(--accent)8%,transparent)}}.card-design--outlined>.work-card-trigger,.card-design--outlined>.grid-card{box-shadow:4px 4px 0 var(--foreground);border:2px solid var(--foreground)!important;background:var(--background)!important;border-radius:.5rem!important}@supports (color:color-mix(in lab,red,red)){.card-design--outlined>.work-card-trigger,.card-design--outlined>.grid-card{box-shadow:4px 4px color-mix(in srgb,var(--foreground)20%,transparent)}}.card-design--outlined>.work-card-trigger,.card-design--outlined>.grid-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.card-design--outlined>.work-card-trigger:hover,.card-design--outlined>.grid-card:hover{box-shadow:6px 6px 0 var(--accent);transform:translate(-2px,-2px);border-color:var(--accent)!important}.card-design--terminal>.work-card-trigger,.card-design--terminal>.grid-card{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;position:relative;overflow:hidden;background:#0d1117!important;border:1px solid #21262d!important;border-radius:.75rem!important;padding-top:2rem!important}.card-design--terminal>.work-card-trigger:before,.card-design--terminal>.grid-card:before{content:"";background:#161b22;border-bottom:1px solid #21262d;height:1.5rem;position:absolute;top:0;left:0;right:0}.card-design--terminal>.work-card-trigger:after,.card-design--terminal>.grid-card:after{content:"● ● ●";letter-spacing:.25rem;color:#484f58;z-index:1;font-size:.5rem;position:absolute;top:.35rem;left:.75rem}.card-design--terminal>.work-card-trigger:hover,.card-design--terminal>.grid-card:hover{transform:translateY(-2px);box-shadow:0 0 20px #58a6ff1a,0 8px 24px #0000004d;border-color:#58a6ff!important}.card-design--terminal h3,.card-design--terminal .compact-title,.card-design--terminal .grid-card-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;color:#58a6ff!important}.card-design--terminal .type-badge,.card-design--terminal .compact-type-badge{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;color:#58a6ff!important;background:#58a6ff1a!important;border:1px solid #58a6ff33!important;font-size:.625rem!important}.card-design--terminal p,.card-design--terminal span{color:#8b949e}.card-design--terminal .tag-chip{color:#7ee787!important;border-color:#7ee78733!important}.card-design--newspaper>.work-card-trigger,.card-design--newspaper>.grid-card{position:relative;border:none!important;border-top:2px solid var(--foreground)!important;background:0 0!important;border-radius:0!important;padding:1.5rem .5rem!important}.card-design--newspaper>.work-card-trigger:after,.card-design--newspaper>.grid-card:after{content:"";background:repeating-linear-gradient(to right,var(--foreground)0,var(--foreground)4px,transparent 4px,transparent 8px);opacity:.2;height:1px;position:absolute;bottom:0;left:.5rem;right:.5rem}.card-design--newspaper>.work-card-trigger:hover,.card-design--newspaper>.grid-card:hover{background:var(--muted)!important}@supports (color:color-mix(in lab,red,red)){.card-design--newspaper>.work-card-trigger:hover,.card-design--newspaper>.grid-card:hover{background:color-mix(in srgb,var(--muted)15%,transparent)!important}}.card-design--newspaper h3,.card-design--newspaper .compact-title,.card-design--newspaper .grid-card-title{letter-spacing:-.02em;font-style:italic;line-height:1.25;font-family:Playfair Display,Georgia,serif!important;font-size:1.125rem!important;font-weight:800!important}.card-design--newspaper .type-badge,.card-design--newspaper .compact-type-badge{text-transform:uppercase;letter-spacing:.12em;font-weight:700;background:var(--foreground)!important;color:var(--background)!important;border-radius:0!important;padding:.15rem .5rem!important;font-size:.5rem!important}.card-design--newspaper p{font-family:Georgia,Times New Roman,serif;font-size:.8125rem;line-height:1.6}.card-design--neon>.work-card-trigger,.card-design--neon>.grid-card{box-shadow:0 0 8px var(--accent),inset 0 0 8px var(--accent);border:1px solid var(--accent)!important;background:#0a0a0f!important;border-radius:.25rem!important}@supports (color:color-mix(in lab,red,red)){.card-design--neon>.work-card-trigger,.card-design--neon>.grid-card{box-shadow:0 0 8px color-mix(in srgb,var(--accent)30%,transparent),inset 0 0 8px color-mix(in srgb,var(--accent)5%,transparent)}}.card-design--neon>.work-card-trigger,.card-design--neon>.grid-card{transition:all .3s;position:relative;overflow:hidden}.card-design--neon>.work-card-trigger:before,.card-design--neon>.grid-card:before{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);width:100%;height:2px;animation:3s linear infinite neon-scan;position:absolute;top:0;left:-100%}@keyframes neon-scan{to{left:100%}}.card-design--neon>.work-card-trigger:hover,.card-design--neon>.grid-card:hover{box-shadow:0 0 16px var(--accent),0 0 40px var(--accent),inset 0 0 12px var(--accent)}@supports (color:color-mix(in lab,red,red)){.card-design--neon>.work-card-trigger:hover,.card-design--neon>.grid-card:hover{box-shadow:0 0 16px color-mix(in srgb,var(--accent)50%,transparent),0 0 40px color-mix(in srgb,var(--accent)20%,transparent),inset 0 0 12px color-mix(in srgb,var(--accent)8%,transparent)}}.card-design--neon>.work-card-trigger:hover,.card-design--neon>.grid-card:hover{transform:scale(1.02);border-color:var(--accent)!important}.card-design--neon h3,.card-design--neon .compact-title,.card-design--neon .grid-card-title{text-shadow:0 0 8px var(--accent);color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--neon h3,.card-design--neon .compact-title,.card-design--neon .grid-card-title{text-shadow:0 0 8px color-mix(in srgb,var(--accent)40%,transparent)}}.card-design--neon p,.card-design--neon span,.card-design--neon .grid-card-desc{color:#b0b0c0}.card-design--neon .type-badge,.card-design--neon .compact-type-badge{background:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--neon .type-badge,.card-design--neon .compact-type-badge{background:color-mix(in srgb,var(--accent)15%,transparent)!important}}.card-design--neon .type-badge,.card-design--neon .compact-type-badge{color:var(--accent)!important;border:1px solid var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--neon .type-badge,.card-design--neon .compact-type-badge{border:1px solid color-mix(in srgb,var(--accent)40%,transparent)!important}}.card-design--neon .tag-chip{opacity:.8;color:var(--accent)!important}.card-design--holographic>.work-card-trigger,.card-design--holographic>.grid-card{background:linear-gradient(135deg,var(--background),var(--background)30%,var(--background)60%,var(--background))!important}@supports (color:color-mix(in lab,red,red)){.card-design--holographic>.work-card-trigger,.card-design--holographic>.grid-card{background:linear-gradient(135deg,color-mix(in srgb,var(--background)95%,#ff0080),var(--background)30%,color-mix(in srgb,var(--background)95%,#7928ca)60%,color-mix(in srgb,var(--background)95%,#00d4ff))!important}}.card-design--holographic>.work-card-trigger,.card-design--holographic>.grid-card{box-shadow:0 2px 12px var(--foreground);animation:8s infinite holo-bg;background-size:200% 200%!important;border:1px solid #0000!important;border-radius:.75rem!important}@supports (color:color-mix(in lab,red,red)){.card-design--holographic>.work-card-trigger,.card-design--holographic>.grid-card{box-shadow:0 2px 12px color-mix(in srgb,var(--foreground)5%,transparent)}}.card-design--holographic>.work-card-trigger,.card-design--holographic>.grid-card{transition:box-shadow .4s,transform .3s,border-color .3s;position:relative;overflow:hidden}.card-design--holographic>.work-card-trigger:before,.card-design--holographic>.grid-card:before{content:"";z-index:-1;background:linear-gradient(135deg,#ff0080,#7928ca,#00d4ff,#ff0080) 0 0/300% 300%;border-radius:.75rem;padding:1px;animation:4s linear infinite holo-border;position:absolute;inset:-1px}@keyframes holo-bg{0%,to{background-position:0%}50%{background-position:100%}}@keyframes holo-border{0%{background-position:0%}to{background-position:300%}}.card-design--holographic>.work-card-trigger:hover,.card-design--holographic>.grid-card:hover{transform:translateY(-3px)scale(1.01);box-shadow:0 8px 24px #7928ca26,0 4px 12px #ff00801a}.card-design--neumorphic>.work-card-trigger,.card-design--neumorphic>.grid-card{box-shadow:6px 6px 12px var(--foreground),-6px -6px 12px var(--background);background:var(--muted)!important;border:none!important;border-radius:1rem!important}@supports (color:color-mix(in lab,red,red)){.card-design--neumorphic>.work-card-trigger,.card-design--neumorphic>.grid-card{box-shadow:6px 6px 12px color-mix(in srgb,var(--foreground)8%,transparent),-6px -6px 12px color-mix(in srgb,var(--background)80%,white)}}.card-design--neumorphic>.work-card-trigger,.card-design--neumorphic>.grid-card{transition:all .3s}.card-design--neumorphic>.work-card-trigger:hover,.card-design--neumorphic>.grid-card:hover{box-shadow:2px 2px 6px var(--foreground),-2px -2px 6px var(--background),inset 2px 2px 4px var(--foreground),inset -2px -2px 4px var(--background)}@supports (color:color-mix(in lab,red,red)){.card-design--neumorphic>.work-card-trigger:hover,.card-design--neumorphic>.grid-card:hover{box-shadow:2px 2px 6px color-mix(in srgb,var(--foreground)8%,transparent),-2px -2px 6px color-mix(in srgb,var(--background)80%,white),inset 2px 2px 4px color-mix(in srgb,var(--foreground)4%,transparent),inset -2px -2px 4px color-mix(in srgb,var(--background)60%,white)}}.card-design--neumorphic h3,.card-design--neumorphic .compact-title,.card-design--neumorphic .grid-card-title{color:var(--foreground)!important}.card-design--neumorphic .type-badge,.card-design--neumorphic .compact-type-badge{box-shadow:2px 2px 4px var(--foreground),-2px -2px 4px var(--background);background:0 0!important}@supports (color:color-mix(in lab,red,red)){.card-design--neumorphic .type-badge,.card-design--neumorphic .compact-type-badge{box-shadow:2px 2px 4px color-mix(in srgb,var(--foreground)6%,transparent),-2px -2px 4px color-mix(in srgb,var(--background)60%,white)}}.card-design--neumorphic .type-badge,.card-design--neumorphic .compact-type-badge{border:none!important}.card-design--spotlight>.work-card-trigger,.card-design--spotlight>.grid-card{background:radial-gradient(ellipse at 50% 50%,var(--accent),var(--background))!important}@supports (color:color-mix(in lab,red,red)){.card-design--spotlight>.work-card-trigger,.card-design--spotlight>.grid-card{background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--accent)0%,var(--background)),var(--background))!important}}.card-design--spotlight>.work-card-trigger,.card-design--spotlight>.grid-card{transition:all .4s;border:1px solid var(--border)!important;border-radius:.75rem!important}.card-design--spotlight>.work-card-trigger:hover,.card-design--spotlight>.grid-card:hover{background:radial-gradient(ellipse at 50% 50%,var(--accent)0%,var(--background)70%)!important}@supports (color:color-mix(in lab,red,red)){.card-design--spotlight>.work-card-trigger:hover,.card-design--spotlight>.grid-card:hover{background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--accent)10%,var(--background))0%,var(--background)70%)!important}}.card-design--spotlight>.work-card-trigger:hover,.card-design--spotlight>.grid-card:hover{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--spotlight>.work-card-trigger:hover,.card-design--spotlight>.grid-card:hover{border-color:color-mix(in srgb,var(--accent)30%,transparent)!important}}.card-design--spotlight>.work-card-trigger:hover,.card-design--spotlight>.grid-card:hover{box-shadow:0 0 40px var(--accent),0 4px 16px var(--foreground)}@supports (color:color-mix(in lab,red,red)){.card-design--spotlight>.work-card-trigger:hover,.card-design--spotlight>.grid-card:hover{box-shadow:0 0 40px color-mix(in srgb,var(--accent)10%,transparent),0 4px 16px color-mix(in srgb,var(--foreground)5%,transparent)}}.card-design--spotlight>.work-card-trigger:hover,.card-design--spotlight>.grid-card:hover{transform:translateY(-2px)}.card-design--noise>.work-card-trigger,.card-design--noise>.grid-card{background:linear-gradient(160deg,var(--accent),var(--background)50%,var(--accent)),repeating-conic-gradient(var(--foreground)0% 25%,transparent 0% 50%)0 0/4px 4px!important}@supports (color:color-mix(in lab,red,red)){.card-design--noise>.work-card-trigger,.card-design--noise>.grid-card{background:linear-gradient(160deg,color-mix(in srgb,var(--accent)3%,var(--background)),var(--background)50%,color-mix(in srgb,var(--accent)2%,var(--background))),repeating-conic-gradient(color-mix(in srgb,var(--foreground)3%,transparent)0% 25%,transparent 0% 50%)0 0/4px 4px!important}}.card-design--noise>.work-card-trigger,.card-design--noise>.grid-card{transition:all .3s;border:1px solid var(--border)!important;border-radius:.75rem!important}.card-design--noise>.work-card-trigger:hover,.card-design--noise>.grid-card:hover{background:linear-gradient(160deg,var(--accent),var(--background)50%,var(--accent)),repeating-conic-gradient(var(--foreground)0% 25%,transparent 0% 50%)0 0/4px 4px!important}@supports (color:color-mix(in lab,red,red)){.card-design--noise>.work-card-trigger:hover,.card-design--noise>.grid-card:hover{background:linear-gradient(160deg,color-mix(in srgb,var(--accent)6%,var(--background)),var(--background)50%,color-mix(in srgb,var(--accent)4%,var(--background))),repeating-conic-gradient(color-mix(in srgb,var(--foreground)4%,transparent)0% 25%,transparent 0% 50%)0 0/4px 4px!important}}.card-design--noise>.work-card-trigger:hover,.card-design--noise>.grid-card:hover{border-color:var(--accent)!important}@supports (color:color-mix(in lab,red,red)){.card-design--noise>.work-card-trigger:hover,.card-design--noise>.grid-card:hover{border-color:color-mix(in srgb,var(--accent)25%,transparent)!important}}.card-design--noise>.work-card-trigger:hover,.card-design--noise>.grid-card:hover{box-shadow:0 8px 24px var(--foreground)}@supports (color:color-mix(in lab,red,red)){.card-design--noise>.work-card-trigger:hover,.card-design--noise>.grid-card:hover{box-shadow:0 8px 24px color-mix(in srgb,var(--foreground)6%,transparent)}}.card-design--noise>.work-card-trigger:hover,.card-design--noise>.grid-card:hover{transform:translateY(-2px)}.pagination-nav{justify-content:center;align-items:center;gap:.5rem;margin-top:auto;margin-bottom:2rem;display:flex}.pagination-link{-webkit-user-select:none;user-select:none}.pagination-prev{margin-right:1rem}.pagination-next{margin-left:1rem}.pagination-disabled{opacity:.5}.pagination-icon{display:inline-block}[dir=rtl] .pagination-icon{transform:rotate(180deg)}.share-links{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.25rem;display:flex}@media (min-width:768px){.share-links{align-items:flex-start}}.share-links-label{font-style:italic}.share-links-row{text-align:center}.back-button-wrap{justify-content:flex-start;align-items:center;display:flex}.back-button-link{margin-top:2rem;margin-bottom:.5rem;margin-inline-start:-.5rem;transition:color .15s}.back-button-link:hover{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.back-button-link:hover{color:color-mix(in srgb,var(--foreground)75%,transparent)}}.back-button-icon{width:1.5rem;height:1.5rem;display:inline-block}[dir=rtl] .back-button-icon{transform:rotate(180deg)}.btt-container{z-index:50;opacity:0;inset-inline-end:1rem;transition:transform .5s,opacity .5s;position:fixed;bottom:2rem;transform:translateY(3.5rem)}@media (min-width:768px){.btt-container{float:inline-end;margin-inline-end:.25rem;position:sticky;inset-inline-end:auto}}.btt-container.btt-visible{opacity:1;transform:translateY(0)}.btt-button{background:var(--background);border-radius:9999px;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;padding:.5rem;display:flex;position:relative;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}@media (min-width:768px){.btt-button{width:auto;height:2rem;box-shadow:none;background:var(--background);border-radius:.375rem}@supports (color:color-mix(in lab,red,red)){.btt-button{background:color-mix(in srgb,var(--background)35%,transparent)}}.btt-button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.25rem .5rem}}.btt-progress{z-index:-1;background:0 0;border-radius:9999px;width:3.5rem;height:3.5rem;display:block;position:absolute;inset:0;transform:scale(1.1)}@media (min-width:768px){.btt-progress{display:none}}.btt-icon-chevron{display:inline-block;transform:rotate(90deg)}@media (min-width:768px){.btt-icon-chevron{display:none}}.btt-label{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;font-size:.875rem;position:absolute;overflow:hidden}@media (min-width:768px){.btt-label{clip:auto;white-space:nowrap;align-items:center;gap:.25rem;width:auto;height:auto;margin:0;padding:0;display:inline-flex;position:static;overflow:visible}}.btt-label:hover{color:var(--accent)}.btt-icon-arrow{width:1rem;height:1rem;display:inline-block}.main-content{margin-top:2rem;padding-bottom:1rem}.page-title{font-size:1.5rem;font-weight:600}@media (min-width:640px){.page-title{font-size:1.875rem}}.page-desc{margin-top:.5rem;margin-bottom:1.5rem;font-style:italic}.about-page-content{max-width:var(--max-w-app,56rem);margin-bottom:7rem}.about-page-content img{border:0}.about-page-title{letter-spacing:.05em;font-size:1.5rem}@media (min-width:640px){.about-page-title{font-size:1.875rem}}.about-pg-header{align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.about-pg-avatar{object-fit:cover;border:2px solid var(--border);border-radius:9999px;flex-shrink:0;width:5.5rem;height:5.5rem}.about-pg-intro{min-width:0}.about-pg-name{margin:0;font-size:1.75rem;font-weight:800;line-height:1.2}.about-pg-role{opacity:.7;margin:.25rem 0 0;font-size:.9rem}.about-pg-role a{color:var(--clr-primary);text-decoration:none}.about-pg-role a:hover{text-decoration:underline}.about-pg-location{opacity:.45;margin:.125rem 0 0;font-size:.8rem}.about-pg-highlights{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:2rem;display:grid}@media (min-width:640px){.about-pg-highlights{grid-template-columns:repeat(4,1fr)}}.about-pg-stat{border:1px solid var(--border);background:var(--card);border-radius:.625rem;flex-direction:column;align-items:center;gap:.2rem;padding:1.1rem .75rem;display:flex}@supports (color:color-mix(in lab,red,red)){.about-pg-stat{background:color-mix(in srgb,var(--card)50%,transparent)}}.about-pg-stat-value{color:var(--clr-primary);font-size:1.5rem;font-weight:800;line-height:1.1}.about-pg-stat-label{opacity:.5;text-transform:uppercase;letter-spacing:.04em;font-size:.675rem}.about-pg-bio{flex-direction:column;gap:.5rem;margin-bottom:2.5rem;font-size:.95rem;line-height:1.7;display:flex}.about-pg-bio-line{opacity:.7;margin:0}.about-pg-bio--big{opacity:1;margin-top:.25rem;font-size:1.15rem;font-weight:700}.about-pg-bio--muted{opacity:.4;font-size:.875rem}.about-pg-bio--italic{opacity:.5;font-family:Georgia,Times New Roman,serif;font-style:italic}.about-pg-section{margin-bottom:2.5rem}.about-pg-section-title{text-transform:uppercase;letter-spacing:.06em;opacity:.45;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem;font-weight:700}.about-pg-cards{flex-direction:column;gap:.75rem;display:flex}.about-pg-card{border:1px solid var(--border);background:var(--card);border-radius:.625rem;padding:1rem 1.25rem}@supports (color:color-mix(in lab,red,red)){.about-pg-card{background:color-mix(in srgb,var(--card)40%,transparent)}}.about-pg-card--row{padding:.875rem 1.25rem}.about-pg-card-head{flex-direction:column;gap:.125rem;display:flex}.about-pg-card-date{opacity:.4;font-variant-numeric:tabular-nums;font-size:.7rem}.about-pg-card-title{color:var(--foreground);font-size:.925rem;font-weight:600}.about-pg-card-title a{color:var(--foreground);text-decoration:none}.about-pg-card-title a:hover{color:var(--clr-primary)}.about-pg-card-sub{opacity:.55;font-size:.8rem}.about-pg-card-sub a{color:inherit;text-decoration:none}.about-pg-card-sub a:hover{text-decoration:underline}.about-pg-card-desc{opacity:.6;margin:.4rem 0 0;font-size:.825rem;line-height:1.55}.about-pg-card-list{opacity:.55;margin:.4rem 0 0;padding-left:1.25rem;font-size:.8rem;line-height:1.6}.about-pg-card-list li{margin-bottom:.125rem}.about-pg-card-metrics{opacity:.45;gap:.75rem;margin-top:.4rem;font-size:.75rem;display:flex}.about-pg-skill-groups{flex-direction:column;gap:1rem;display:flex}.about-pg-skill-cat{opacity:.5;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.75rem;font-weight:600}.about-pg-skill-pills{flex-wrap:wrap;gap:.35rem;display:flex}.about-pg-skill-pill{border:1px solid var(--border);opacity:.65;border-radius:.3rem;padding:.2rem .55rem;font-size:.725rem}.about-pg-testimonial{border-left:3px solid var(--clr-primary)}.about-pg-quote{opacity:.7;margin:0;font-size:.875rem;font-style:italic;line-height:1.6}.about-pg-quote-author{opacity:.5;margin:.5rem 0 0;font-size:.775rem}.about-pg-quote-role{opacity:.7}.about-pg-faq-q{margin-bottom:.3rem;font-size:.9rem;display:block}.about-pg-section-sub{opacity:.4;margin:-.5rem 0 1rem;font-size:.8rem}.about-pg-start-list{flex-direction:column;gap:.5rem;display:flex}.about-pg-start-item{border:1px solid var(--border);background:var(--card);border-radius:.625rem;align-items:center;gap:1rem;padding:.875rem 1.25rem;display:flex}@supports (color:color-mix(in lab,red,red)){.about-pg-start-item{background:color-mix(in srgb,var(--card)40%,transparent)}}.about-pg-start-item{color:var(--foreground);text-decoration:none;transition:border-color .2s,background .2s}.about-pg-start-item:hover{border-color:var(--clr-primary);background:var(--card)}@supports (color:color-mix(in lab,red,red)){.about-pg-start-item:hover{background:color-mix(in srgb,var(--card)70%,transparent)}}.about-pg-start-num{opacity:.25;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem;font-weight:700}.about-pg-start-body{flex:1;min-width:0}.about-pg-start-label{font-size:.9rem;font-weight:600;display:block}.about-pg-start-desc{opacity:.5;margin:.15rem 0 0;font-size:.775rem;line-height:1.4}.about-pg-start-arrow{opacity:.3;flex-shrink:0;font-size:.875rem;transition:opacity .2s,transform .2s}.about-pg-start-item:hover .about-pg-start-arrow{opacity:.7;transform:translate(2px)}.about-pg-connect{flex-wrap:wrap;gap:.5rem;display:flex}.skills-wrapper{margin-top:2rem}.post-main{padding-bottom:3rem}.post-title{color:var(--accent);font-size:1.5rem;font-weight:700;display:inline-block}@media (min-width:640px){.post-title{font-size:1.875rem}}.post-meta{align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.post-meta-divider{display:none}@media (min-width:640px){.post-meta-divider{display:inline}}.post-edit-desktop{display:none}@media (min-width:640px){.post-edit-desktop{display:inline}}.post-edit-mobile{display:inline}@media (min-width:640px){.post-edit-mobile{display:none}}.post-article{width:100%;max-width:var(--max-w-app,56rem);margin-top:2rem}.post-divider{border-style:dashed;margin:2rem 0}.post-divider-sm{border-style:dashed;margin:1.5rem 0}.post-tags{flex-wrap:wrap;gap:1rem;margin-top:1rem;margin-bottom:2rem;display:flex}@media (min-width:640px){.post-tags{margin:2rem 0}}.post-nav-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.post-nav-grid{grid-template-columns:1fr 1fr}}.post-nav-link{gap:.25rem;width:100%;transition:opacity .15s;display:flex}.post-nav-link:hover{opacity:.75}.post-nav-link-next{text-align:end;justify-content:flex-end}@media (min-width:640px){.post-nav-link-next{grid-column-start:2}}.post-nav-icon{flex:none;display:inline-block}[dir=rtl] .post-nav-icon-rtl{transform:rotate(180deg)}.post-nav-title{color:var(--accent);opacity:.85;font-size:.875rem}.progress-container{z-index:10;background:var(--background);width:100%;height:.25rem;position:fixed;top:0}.progress-bar{background:var(--accent);width:0;height:.25rem}.heading-link{opacity:.75;margin-inline-start:.5rem;text-decoration:none}@media (min-width:768px){.heading-link{opacity:0}.group:hover .heading-link,.heading-link:focus{opacity:1}}.copy-code{background:var(--muted);border:1px solid var(--muted);color:var(--foreground);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;line-height:1rem;position:absolute;inset-inline-end:.75rem}.copy-code-top{top:-.75rem}.copy-code-offset{top:var(--file-name-offset)}.page-desc-muted{opacity:.6}.works-section{padding-top:2rem;padding-bottom:1.5rem}.connect-section,.search-section{padding-top:2rem;padding-bottom:3rem}.connect-header,.search-header{margin-bottom:1.5rem}.connect-subheading{opacity:.6;max-width:32rem;margin-top:.25rem;font-size:.875rem}.error-page{flex:1;justify-content:center;align-items:center;display:flex}.error-content{flex-direction:column;justify-content:center;align-items:center;margin-bottom:3.5rem;display:flex}.error-code{color:var(--accent);font-size:8rem;font-weight:700;line-height:1}.error-message{margin-top:1rem;font-size:1.5rem}@media (min-width:640px){.error-message{font-size:1.875rem}}.error-home-link{text-underline-offset:8px;margin:1.5rem 0;font-size:1.125rem;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.work-back-link-wrap{margin-bottom:.5rem}.work-back-link{opacity:.6;font-size:.875rem;transition:opacity .15s,color .15s}.work-back-link:hover{color:var(--accent);opacity:1}.work-org-text{opacity:.6;margin-top:.25rem}.work-links-row{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.uses-page{max-width:42rem}.uses-intro{opacity:.6;margin-bottom:2.5rem;font-size:.875rem}.uses-categories{flex-direction:column;gap:2.5rem;display:flex}.uses-category-title{color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:.9375rem;font-weight:600}.uses-list{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.uses-item{align-items:baseline;gap:.75rem;font-size:.875rem;display:flex}.uses-item-name{flex-shrink:0;font-weight:500}.uses-item-desc{opacity:.5;font-size:.8125rem}@media (max-width:480px){.uses-item{flex-direction:column;gap:.125rem}}.reading-page{max-width:42rem}.reading-intro{opacity:.6;margin-bottom:2.5rem;font-size:.875rem}.reading-categories{flex-direction:column;gap:2.5rem;display:flex}.reading-category-title{color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:.9375rem;font-weight:600}.reading-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.reading-item-link{border-bottom:1px solid var(--border);flex-direction:column;gap:.125rem;padding:.5rem 0;display:flex}@supports (color:color-mix(in lab,red,red)){.reading-item-link{border-bottom:1px solid color-mix(in srgb,var(--border)50%,transparent)}}.reading-item-link{text-decoration:none;transition:opacity .15s}a.reading-item-link:hover{opacity:.7}.reading-item-title{color:var(--foreground);font-size:.875rem;font-weight:500}a.reading-item-link .reading-item-title{color:var(--accent)}.reading-item-author{opacity:.5;font-size:.75rem}.testimonials-section{margin-top:3rem}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:1.25rem;display:grid}.testimonial-card{border:1px solid var(--border);background:var(--muted);border-radius:.75rem;padding:1.25rem}@supports (color:color-mix(in lab,red,red)){.testimonial-card{background:color-mix(in srgb,var(--muted)30%,transparent)}}.testimonial-card{flex-direction:column;margin:0;display:flex}.testimonial-quote{opacity:.8;flex:1;font-size:.8125rem;font-style:italic;line-height:1.6}.testimonial-quote:before{content:"“";color:var(--accent);opacity:.5;vertical-align:-.3em;margin-right:.125rem;font-size:1.5rem;line-height:0}.testimonial-footer{flex-direction:row;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.testimonial-favicon{border-radius:3px;flex-shrink:0}.testimonial-info{flex-direction:column;gap:.125rem;display:flex}.testimonial-author{font-size:.8125rem;font-weight:600}.testimonial-role{opacity:.5;font-size:.6875rem}.highlights-section{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.highlight-card{background:linear-gradient(135deg,var(--accent),var(--accent));border-radius:.75rem;padding:1.25rem 1.5rem}@supports (color:color-mix(in lab,red,red)){.highlight-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)8%,transparent),color-mix(in srgb,var(--accent)3%,transparent))}}.highlight-card{border:1px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.highlight-card{border:1px solid color-mix(in srgb,var(--accent)20%,var(--border))}}.highlight-header{align-items:flex-start;gap:.875rem;display:flex}.highlight-icon{background:var(--accent);border-radius:.625rem;width:2.75rem;height:2.75rem}@supports (color:color-mix(in lab,red,red)){.highlight-icon{background:color-mix(in srgb,var(--accent)15%,transparent)}}.highlight-icon{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.highlight-title-block{flex:1;min-width:0}.highlight-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.highlight-title{font-size:.9375rem;font-weight:700}.highlight-badge{background:var(--accent);border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem}@supports (color:color-mix(in lab,red,red)){.highlight-badge{background:color-mix(in srgb,var(--accent)12%,transparent)}}.highlight-badge{color:var(--accent);font-weight:500}.highlight-desc{opacity:.7;margin-top:.375rem;font-size:.8125rem;line-height:1.6}.highlight-bullets{flex-direction:column;gap:.375rem;margin-top:.75rem;padding:0;list-style:none;display:flex}.highlight-bullet{opacity:.75;gap:.5rem;font-size:.8125rem;line-height:1.5;display:flex}.highlight-bullet-marker{color:var(--accent);flex-shrink:0;font-weight:600}.highlight-certs{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.highlight-cert-link{background:var(--accent);border-radius:.375rem;align-items:center;gap:.375rem;padding:.25rem .625rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.highlight-cert-link{background:color-mix(in srgb,var(--accent)10%,transparent)}}.highlight-cert-link{color:var(--foreground);opacity:.7;font-size:.75rem;text-decoration:none;transition:color .15s,background .15s,opacity .15s}.highlight-cert-link:hover{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.highlight-cert-link:hover{background:color-mix(in srgb,var(--accent)18%,transparent)}}.highlight-cert-link:hover{opacity:1}.highlight-cert-link svg{color:var(--accent);opacity:.7}.lets-talk-section{margin-top:3rem;padding:2.5rem 0}.lets-talk-inner{text-align:center;max-width:28rem;margin:0 auto}.lets-talk-heading{letter-spacing:-.01em;font-size:1.75rem;font-weight:700}.lets-talk-sub{opacity:.6;margin-top:.5rem;font-size:.9375rem;line-height:1.6}.lets-talk-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.lets-talk-btn{border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.lets-talk-btn--primary{background:var(--foreground);color:var(--background)}.lets-talk-btn--primary:hover{opacity:.85;box-shadow:0 4px 12px var(--foreground);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.lets-talk-btn--primary:hover{box-shadow:0 4px 12px color-mix(in srgb,var(--foreground)20%,transparent)}}.lets-talk-btn--secondary{color:var(--foreground);border:1px solid var(--border);background:0 0}.lets-talk-btn--secondary:hover{border-color:var(--foreground);transform:translateY(-1px)}.lets-talk-socials{flex-direction:column;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.lets-talk-socials-label{opacity:.4;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.lets-talk-social-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.lets-talk-social{color:var(--foreground);opacity:.5;align-items:center;gap:.375rem;font-size:.8125rem;text-decoration:none;transition:opacity .15s,color .15s;display:inline-flex}.lets-talk-social:hover{opacity:1;color:var(--platform-color)}html[data-theme=dark] .lets-talk-social:hover{color:var(--platform-color-dark)}.lets-talk-social svg{fill:currentColor;width:1rem;height:1rem}.colophon{border-bottom:1px solid var(--border);text-align:center;margin-bottom:1rem;padding-bottom:1rem}.colophon-text{opacity:.5;margin-bottom:.5rem;font-size:.75rem}.colophon-stack{flex-wrap:wrap;justify-content:center;gap:.375rem;display:flex}.colophon-tag{border:1px solid var(--border);opacity:.5;border-radius:.25rem;padding:.2rem .5rem;font-size:.625rem}.section-heading{letter-spacing:.025em;font-size:1.5rem;font-weight:600}.section-subtext{opacity:.55;margin-top:.375rem;font-size:.8125rem;line-height:1.5}.start-here-section{border-bottom:1px solid var(--border);margin-top:3rem;padding-bottom:2rem}.start-here-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.start-here-card{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:.75rem;flex-direction:column;padding:1.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.start-here-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}@supports (color:color-mix(in lab,red,red)){.start-here-card:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)20%,transparent)}}.start-here-index{color:var(--accent);opacity:.12;font-size:2rem;font-weight:700;line-height:1;position:absolute;top:.75rem;right:1rem}.start-here-label{margin-bottom:.375rem;font-size:.9375rem;font-weight:600}.start-here-desc{opacity:.6;flex:1;font-size:.8125rem;line-height:1.5}.start-here-arrow{color:var(--accent);opacity:0;margin-top:.75rem;font-size:.8125rem;transition:opacity .2s,transform .2s;transform:translate(-4px)}.start-here-card:hover .start-here-arrow{opacity:1;transform:translate(0)}.publications-section{margin-top:3rem;padding-bottom:2rem}.publications-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.publications-scholar-link{color:var(--accent);white-space:nowrap;font-size:.75rem;text-decoration:none}.publications-scholar-link:hover{text-decoration:underline}.publications-list{counter-reset:pub;margin-top:1.25rem;padding:0;list-style:none}.publication-item{border-bottom:1px solid var(--border);counter-increment:pub;padding:1rem 1rem 1rem 2.5rem;position:relative}.publication-item:last-child{border-bottom:none}.publication-item:before{content:counter(pub);opacity:.3;text-align:right;width:1.5rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;left:0}.publication-title,.publication-title-link{font-size:.9375rem;font-weight:600;line-height:1.4}.publication-title-link{color:var(--foreground);text-decoration:none}.publication-title-link:hover{color:var(--accent)}.publication-authors{opacity:.6;margin-top:.25rem;font-size:.8125rem}.publication-meta{gap:.75rem;margin-top:.25rem;font-size:.75rem;display:flex}.publication-venue{color:var(--accent);font-weight:500}.publication-year{opacity:.4}.stats-section{margin-top:2.5rem;padding-bottom:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;display:grid}.stat-card{border:1px solid var(--border);background:var(--muted);border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;padding:1.25rem .75rem;display:flex}@supports (color:color-mix(in lab,red,red)){.stat-card{background:color-mix(in srgb,var(--muted)20%,transparent)}}.stat-card{text-align:center}.stat-value{color:var(--accent);font-size:1.75rem;font-weight:700;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.06em;opacity:.5;margin-top:.375rem;font-size:.6875rem}.oss-section{margin-top:2rem;padding-bottom:1.5rem}.oss-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.oss-card{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:.75rem;flex-direction:column;padding:1.25rem;text-decoration:none;transition:border-color .2s;display:flex}.oss-card:hover{border-color:var(--accent)}.oss-card-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.oss-repo-icon{opacity:.4;flex-shrink:0}.oss-favicon{border-radius:3px;flex-shrink:0}.oss-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;font-weight:600;overflow:hidden}.oss-role-badge{background:var(--accent);border-radius:9999px;margin-left:auto;padding:.125rem .5rem;font-size:.625rem}@supports (color:color-mix(in lab,red,red)){.oss-role-badge{background:color-mix(in srgb,var(--accent)10%,transparent)}}.oss-role-badge{color:var(--accent);white-space:nowrap;font-weight:500}.oss-desc{opacity:.6;flex:1;font-size:.8125rem;line-height:1.5}.oss-card-footer{opacity:.5;align-items:center;gap:1rem;margin-top:.75rem;font-size:.75rem;display:flex}.oss-language{align-items:center;gap:.375rem;display:flex}.oss-lang-dot{background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.oss-stars{align-items:center;gap:.25rem;display:flex}.oss-stars svg{color:var(--accent);opacity:.7}.oss-forks{align-items:center;gap:.25rem;display:flex}.oss-forks svg{opacity:.5}.speaking-section{margin-top:3rem;padding-bottom:2rem}.speaking-list{flex-direction:column;gap:0;margin-top:1.25rem;display:flex}.speaking-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.875rem 0;display:flex}.speaking-item:last-child{border-bottom:none}.speaking-item-main{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.speaking-type-badge{background:var(--muted);border-radius:.25rem;flex-shrink:0;padding:.25rem .5rem;font-size:.625rem}@supports (color:color-mix(in lab,red,red)){.speaking-type-badge{background:color-mix(in srgb,var(--muted)50%,transparent)}}.speaking-type-badge{text-transform:uppercase;letter-spacing:.04em;margin-top:.125rem;font-weight:500}.speaking-item-body{min-width:0}.speaking-title{font-size:.9375rem;font-weight:600}.speaking-event{opacity:.6;margin-top:.125rem;font-size:.8125rem}.speaking-date{opacity:.6;margin-left:.5rem}.speaking-date:before{content:"·";margin-right:.5rem}.speaking-links{flex-shrink:0;gap:.5rem;display:flex}.speaking-link{color:var(--accent);border:1px solid var(--accent);padding:.25rem .625rem;font-size:.6875rem;text-decoration:none}@supports (color:color-mix(in lab,red,red)){.speaking-link{border:1px solid color-mix(in srgb,var(--accent)30%,transparent)}}.speaking-link{border-radius:.25rem;transition:background .15s}.speaking-link:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.speaking-link:hover{background:color-mix(in srgb,var(--accent)8%,transparent)}}@media (max-width:600px){.speaking-item{flex-direction:column;gap:.5rem}}.models-section{margin-top:2rem;padding-bottom:1.5rem}.models-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.model-card{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:.75rem;flex-direction:column;padding:1.25rem;text-decoration:none;transition:border-color .2s;display:flex}.model-card:hover{border-color:var(--accent)}.model-card-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.model-icon{opacity:.5;color:var(--accent);flex-shrink:0}.model-name{font-size:.875rem;font-weight:600;font-family:var(--font-app);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-desc{opacity:.6;flex:1;font-size:.8125rem;line-height:1.5}.model-card-footer{justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.75rem;display:flex}.model-task{background:var(--accent);border-radius:.25rem;padding:.125rem .5rem}@supports (color:color-mix(in lab,red,red)){.model-task{background:color-mix(in srgb,var(--accent)10%,transparent)}}.model-task{color:var(--accent);font-weight:500}.model-downloads{opacity:.5;align-items:center;gap:.25rem;display:flex}.resources-section{margin-top:3rem;padding-bottom:2rem}.resources-groups{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem;margin-top:1.25rem;display:grid}.resource-group-title{border-bottom:2px solid var(--accent);margin-bottom:.75rem;padding-bottom:.5rem;font-size:.875rem;font-weight:600;display:inline-block}.resource-items{flex-direction:column;gap:.5rem;display:flex}.resource-item{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:.5rem;padding:.75rem 1rem;text-decoration:none;transition:border-color .2s;display:block}a.resource-item:hover{border-color:var(--accent)}.resource-item-title{font-size:.875rem;font-weight:600}.resource-item-desc{opacity:.55;margin-top:.125rem;font-size:.75rem;line-height:1.5}.curated-section{margin-top:3rem;padding-bottom:2rem}.curated-groups{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem;margin-top:1.25rem;display:grid}.curated-group-title{opacity:.8;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.curated-items{margin:0;padding:0;list-style:none}.curated-item{border-bottom:1px solid var(--border)}.curated-item:last-child{border-bottom:none}.curated-link{color:var(--foreground);align-items:baseline;gap:.75rem;padding:.625rem 0;text-decoration:none;transition:color .15s;display:flex}.curated-link:hover{color:var(--accent)}.curated-item-title{white-space:nowrap;font-size:.875rem;font-weight:500}.curated-item-desc{opacity:.45;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;overflow:hidden}.faq-section{margin-top:3rem;padding-bottom:2rem}.faq-list{flex-direction:column;gap:0;margin-top:1.25rem;display:flex}.faq-item{border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:none}.faq-question{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";opacity:.4;flex-shrink:0;font-size:1.25rem;font-weight:300;transition:transform .2s}.faq-item[open] .faq-question:after{content:"−";transform:rotate(180deg)}.faq-answer{opacity:.65;max-width:40rem;padding-bottom:1rem;font-size:.8125rem;line-height:1.65}.clients-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:2.5rem;padding:1.5rem 0}.clients-label{text-transform:uppercase;letter-spacing:.1em;opacity:.35;text-align:center;margin-bottom:1rem;font-size:.6875rem}.clients-track{flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem 2.5rem;display:flex}.client-item{color:var(--foreground);align-items:center;text-decoration:none;transition:opacity .2s;display:flex}.client-lockup{align-items:center;gap:.5rem;display:flex}.client-icon{object-fit:contain;opacity:1;width:1.25rem;height:1.25rem;transition:opacity .25s}a.client-item:hover .client-icon{opacity:1}.client-wordmark{letter-spacing:-.01em;opacity:.7;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.9375rem;font-weight:700;transition:opacity .25s}a.client-item:hover .client-wordmark{opacity:1}.client-logo-full{object-fit:contain;opacity:.7;width:auto;height:1.25rem;transition:opacity .25s}a.client-item:hover .client-logo-full{opacity:1}@media (max-width:480px){.clients-track{gap:1.25rem 1.5rem}.client-wordmark{font-size:.8125rem}.client-icon{width:1rem;height:1rem}.client-logo-full{height:1rem}}.education-section{margin-top:2rem;padding-bottom:1.5rem}.edu-awards-grid{grid-template-columns:1fr;gap:2rem;margin-top:1.5rem;display:grid}@media (min-width:640px){.edu-awards-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}.edu-column-label{text-transform:uppercase;letter-spacing:.05em;opacity:.4;margin-bottom:1rem;font-size:.75rem;font-weight:600}.education-list{border-left:2px solid var(--border);margin-top:0;padding-left:1.5rem;position:relative}.education-entry{padding-bottom:1.5rem;position:relative}.education-entry:last-child{padding-bottom:0}.education-dot{border:2px solid var(--accent);background:var(--background);border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:.25rem;left:-1.9rem}.education-logo{background:var(--background);border-radius:.25rem;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex;position:absolute;top:.125rem;left:-2.15rem;overflow:hidden}.education-logo img{object-fit:contain;width:100%;height:100%}.education-content{flex-direction:column;display:flex}.education-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.education-degree{font-size:.9375rem;font-weight:600}.education-year{opacity:.4;white-space:nowrap;font-size:.75rem}.education-institution-link{color:var(--accent);margin-top:.125rem;font-size:.8125rem;text-decoration:none}.education-institution-link:hover{text-decoration:underline}.education-institution{color:var(--accent);margin-top:.125rem;font-size:.8125rem}.education-desc{opacity:.6;margin-top:.25rem;font-size:.8125rem;line-height:1.5}.awards-section{margin-top:3rem;padding-bottom:2rem}.awards-list{flex-direction:column;gap:0;margin-top:0;display:flex}.award-entry{border-bottom:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.875rem 0;display:flex}.award-entry:last-child{border-bottom:none}.award-icon{color:var(--accent);flex-shrink:0;margin-top:.125rem}.award-content{flex:1;min-width:0}.award-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.award-title,.award-title-link{font-size:.9375rem;font-weight:600}.award-title-link{color:var(--foreground);text-decoration:none}.award-title-link:hover{color:var(--accent)}.award-year{opacity:.4;white-space:nowrap;font-size:.75rem}.award-issuer{color:var(--accent);margin-top:.125rem;font-size:.8125rem;display:block}.award-desc{opacity:.6;margin-top:.25rem;font-size:.8125rem;line-height:1.5}@media (max-width:639px){.hero-section{padding-top:4rem;padding-bottom:4rem}.hero-row{gap:1.5rem}.hero-photo-wrap{width:7rem;height:7rem}.hero-headline{height:1.62rem;font-size:1.35rem}.hero-pitch,.hero-keywords{font-size:1.1rem}.about-section{padding-top:3.5rem;padding-bottom:3rem}.about-body{font-size:.95rem}.section-tinted{margin-top:1.5rem;padding-top:1.25rem;padding-bottom:1.25rem}.work-modal{border-radius:0;width:100vw;max-width:100vw;margin:0;padding:0}.modal-title{font-size:1.25rem}.modal-meta-row,.modal-link-bar{flex-wrap:wrap}.about-pg-header{flex-direction:column;align-items:flex-start;gap:1rem}.about-pg-avatar{width:4rem;height:4rem}.about-pg-name{font-size:1.35rem}.about-pg-start-item{gap:.625rem;padding:.75rem 1rem}.about-pg-start-num{display:none}.exp-card{padding:1rem}.exp-card-header{flex-direction:column;gap:.5rem}.exp-logo{width:2rem;height:2rem}.highlight-card{padding:1rem 1.25rem}.highlight-header{flex-direction:column;gap:.625rem}.highlight-icon{width:2.25rem;height:2.25rem}.compact-title{white-space:normal;font-size:.8125rem}.compact-date{display:none}.nav-mobile-links{gap:.4rem}.nav-mobile-link{font-size:.75rem}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
