/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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-ease:initial;--tw-divide-x-reverse:0}}}@layer theme{:root,:host{--spacing:.25rem;--container-4xl:56rem;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-widest:.1em;--leading-snug:1.375;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@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;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist,sans-serif;line-height:1.5}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}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}}@layer components{.site-bar{background-color:color-mix(in srgb, var(--surface) 95%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dark .site-bar{background-color:color-mix(in srgb, var(--hero-bg) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-bar__inner{padding-block:var(--site-bar-padding-block)}@media (width>=640px){.site-bar__inner{padding-block:.75rem}}.content-shell{width:100%;max-width:min(92vw, var(--content-max));padding-inline:max(var(--margin), var(--safe-left)) max(var(--margin), var(--safe-right));box-sizing:border-box;margin-inline:auto}.safe-top{padding-top:var(--safe-top)}.safe-bottom{padding-bottom:var(--safe-bottom)}.section-flow>*+*{margin-top:var(--section-gap)}.section-anchor{scroll-margin-top:var(--nav-offset)}.hero-display{letter-spacing:-.03em;font-size:clamp(1.75rem,6vw + .5rem,3.25rem);font-weight:700;line-height:1.05}.hero-title{letter-spacing:.02em;font-size:clamp(1.25rem,3vw + .5rem,1.5rem);font-weight:500;line-height:1.3}.contact-email{letter-spacing:-.02em;word-break:break-word;color:var(--primary);font-size:clamp(1.35rem,3.5vw + .75rem,2.25rem);font-weight:600;line-height:1.15}.section-index{min-width:2.75rem;color:var(--primary);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;display:inline-block}.github-status{color:var(--on-surface-variant);font-family:JetBrains Mono,monospace;font-size:13px}.shadow-brutal{box-shadow:var(--shadow-brutal)}.brutal-lift{transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.brutal-lift-card{transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.brutal-lift.shadow-brutal:hover,.brutal-lift.shadow-brutal:focus-within,.brutal-lift-card.shadow-brutal:hover,.brutal-lift-card.shadow-brutal:focus-within{box-shadow:var(--shadow-brutal-hover);transform:translate(-2px,-2px)}}.site-nav{position:relative}@media (width>=640px){:root{--nav-offset:calc(var(--safe-top) + 4rem)}}.site-nav__inner{gap:.625rem}@media (width>=640px){.site-nav__inner{gap:.75rem}}.site-nav__actions{gap:.25rem}@media (width>=640px){.site-nav__actions{gap:.375rem}}.site-nav__action{min-height:44px}@media (width>=640px){.site-nav__action{min-height:40px}}.site-nav__action--text{padding-inline:.75rem}@media (width>=640px){.site-nav__action--text{padding-inline:.625rem}}.site-nav__action--icon{min-width:44px;padding-inline:.625rem}@media (width>=640px){.site-nav__action--icon{min-width:40px;padding-inline:.5rem}}.skip-link{z-index:100;background:var(--primary);color:var(--on-primary);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:12px;text-decoration:none;position:absolute;top:auto;left:-9999px}.skip-link:focus{left:max(var(--margin), var(--safe-left));top:max(.5rem, var(--safe-top))}.scroll-progress{z-index:60;transform-origin:0;width:100%;height:2px;transform:scaleX(var(--scroll-progress,0));background:var(--primary);pointer-events:none;position:fixed;top:0;left:0}.section-reveal{opacity:0;transition:opacity var(--duration-reveal) var(--ease-out), transform var(--duration-reveal) var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(2px)}.section-reveal.is-visible{opacity:1;transform:translateY(0)}.hero-reveal{opacity:0;animation:hero-reveal-in var(--duration-reveal) var(--ease-out) forwards;animation-delay:var(--reveal-delay,0s);transform:translateY(2px)}.section-header{border-bottom:none;position:relative}.section-header:after{content:"";background:var(--border-default);transform-origin:0;height:1px;transition:transform var(--duration-reveal) var(--ease-out);transition-delay:var(--reveal-delay,0s);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.section-reveal.is-visible .section-header:after{transform:scaleX(1)}.table-sticky-head thead{z-index:1;position:sticky;top:0}.table-row-interactive{transition:background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.table-row-interactive:hover{background-color:var(--surface-container-low)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.table-row-interactive:hover{box-shadow:inset 2px 0 0 var(--primary)}}.table-scroll-hint{position:relative}.table-scroll-hint:after{content:"";pointer-events:none;background:linear-gradient(to left, var(--surface), transparent);width:2rem;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;top:0;bottom:0;right:0}.table-scroll-hint[data-scroll-end]:after{opacity:0}@media (width>=640px){.table-scroll-hint:after,.table-scroll-caption-mobile{display:none}}.icon-nudge{transition:transform .2s var(--ease-out)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.group:hover .icon-nudge{transform:translate(2px,-2px)}}.transition-interactive{transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out)}.theme-toggle-icon{transition:transform .25s var(--ease-out)}.theme-toggle-icon.is-spinning{transform:rotate(90deg)}.copy-flash{animation:copy-flash .4s var(--ease-out)}.skeleton-shimmer{background:linear-gradient(90deg, var(--surface-container-high) 0%, var(--surface-container-low) 50%, var(--surface-container-high) 100%);animation:skeleton-shimmer 1.5s var(--ease-in-out) infinite;background-size:200% 100%}.theme-picker-dialog{border:1px solid var(--primary);background:var(--surface);width:min(28rem,100vw - 2rem);height:fit-content;max-height:min(90dvh,100% - 2rem);color:var(--primary);margin:auto;padding:0;position:fixed;inset:0;overflow:auto}.theme-picker-dialog:not([open]){display:none}.theme-picker-dialog::backdrop{background:#0000008c}.theme-picker-dialog__panel{padding:1.5rem}.theme-picker-dialog__option:disabled{cursor:not-allowed}.focus-ring:focus{outline:none}.focus-ring:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.contact-channel:focus{outline:none}.contact-channel:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.contact-channel{transition:background-color var(--duration-fast) var(--ease-out)}.contact-channel-label{color:var(--on-surface-variant);transition:color var(--duration-fast) var(--ease-out)}.contact-channel .icon-nudge{transition:color var(--duration-fast) var(--ease-out)}.contact-channel:focus-visible,.contact-channel:focus-within{background-color:var(--surface-container-high)}.contact-channel:focus-visible .contact-channel-label,.contact-channel:focus-within .contact-channel-label,.contact-channel:focus-visible .icon-nudge,.contact-channel:focus-within .icon-nudge{color:var(--primary)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.contact-channel:hover{background-color:var(--surface-container-high)}.contact-channel:hover .contact-channel-label,.contact-channel:hover .icon-nudge{color:var(--primary)}}.stack-category{cursor:default;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);position:relative}@media (hover:hover) and (prefers-reduced-motion:no-preference){.stack-category:hover{z-index:1;background-color:var(--surface-container-high);box-shadow:var(--shadow-brutal-hover);transform:translate(-2px,-2px)}}.featured-repo-card{background-color:var(--invert-surface);color:var(--invert-on);text-decoration:none}.featured-repo-card .featured-repo-card__label{color:color-mix(in srgb, var(--invert-on) 70%, transparent)}.featured-repo-card .featured-repo-card__description{color:color-mix(in srgb, var(--invert-on) 85%, transparent)}.featured-repo-card .featured-repo-card__cta{border-color:var(--invert-on);color:var(--invert-on)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.featured-repo-card:hover{background-color:var(--surface);color:var(--primary)}.featured-repo-card:hover .featured-repo-card__label,.featured-repo-card:hover .featured-repo-card__description{color:var(--on-surface-variant)}.featured-repo-card:hover .featured-repo-card__cta{border-color:var(--primary);color:var(--primary)}.featured-repo-card:hover .icon-nudge{color:var(--primary)}}}@layer utilities{.collapse{visibility:collapse}.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}.sticky{position:sticky}.isolate{isolation:isolate}.z-40{z-index:40}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mt-lg{margin-top:24px}.mt-md{margin-top:16px}.mt-sm{margin-top:8px}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-md{margin-bottom:16px}.mb-sm{margin-bottom:8px}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline\!{display:inline!important}.inline-flex{display:inline-flex}.table{display:table}.table\!{display:table!important}.size-\[1em\]{width:1em;height:1em}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.min-h-0{min-height:0}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-\[11rem\]{min-height:11rem}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-9{width:calc(var(--spacing) * 9)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[28rem\]{max-width:28rem}.max-w-\[36rem\]{max-width:36rem}.max-w-\[40rem\]{max-width:40rem}.max-w-\[42rem\]{max-width:42rem}.min-w-0{min-width:0}.min-w-\[28rem\]{min-width:28rem}.min-w-\[36rem\]{min-width:36rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-gutter{gap:16px}.gap-lg{gap:24px}.gap-md{gap:16px}.gap-sm{gap:8px}.gap-xs{gap:4px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-md>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(16px * var(--tw-space-y-reverse));margin-block-end:calc(16px * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-sm>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(8px * var(--tw-space-y-reverse));margin-block-end:calc(8px * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border-default>:not(:last-child)){border-color:var(--border-default)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:0}.rounded-full{border-radius:2147483647px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border-default{border-color:var(--border-default)}.border-primary{border-color:var(--primary)}.border-secondary{border-color:var(--secondary)}.bg-body-bg{background-color:var(--body-bg)}.bg-hero-bg{background-color:var(--hero-bg)}.bg-primary{background-color:var(--primary)}.bg-surface{background-color:var(--surface)}.bg-surface-container-high{background-color:var(--surface-container-high)}.bg-surface-container-low{background-color:var(--surface-container-low)}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-lg{padding:24px}.p-md{padding:16px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-md{padding-inline:16px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-sm{padding-block:8px}.py-xl{padding-block:48px}.pb-sm{padding-bottom:8px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-body-lg,.font-body-sm{font-family:"Source Serif 4",Georgia,serif}.font-headline-lg,.font-label-caps{font-family:Cinzel,serif}.font-mono{font-family:JetBrains Mono,monospace}.font-title-md{font-family:Cinzel,serif}.text-label-md{font-size:12px;line-height:var(--tw-leading,1);letter-spacing:var(--tw-tracking,.05em);font-weight:var(--tw-font-weight,500)}.text-body-lg{font-size:16px;line-height:var(--tw-leading,1.6);font-weight:var(--tw-font-weight,400)}.text-body-md{font-size:14px;line-height:var(--tw-leading,1.5);font-weight:var(--tw-font-weight,400)}.text-code-sm{font-size:13px;line-height:var(--tw-leading,1.4);font-weight:var(--tw-font-weight,400)}.text-headline-lg-mobile{font-size:24px;line-height:var(--tw-leading,1.2);font-weight:var(--tw-font-weight,600)}.text-headline-md{font-size:20px;line-height:var(--tw-leading,1.4);font-weight:var(--tw-font-weight,500)}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[1rem\]{font-size:1rem}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-on-primary{color:var(--on-primary)}.text-on-surface{color:var(--on-surface)}.text-on-surface-variant{color:var(--on-surface-variant)}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);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,)}.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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-all{-webkit-user-select:all;user-select:all}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-on-primary ::selection{color:var(--on-primary)}.selection\:text-on-primary::selection{color:var(--on-primary)}.even\:bg-surface-container-low\/50:nth-child(2n){background-color:var(--surface-container-low)}@supports (color:color-mix(in lab, red, red)){.even\:bg-surface-container-low\/50:nth-child(2n){background-color:color-mix(in oklab, var(--surface-container-low) 50%, transparent)}}@media (hover:hover){.hover\:bg-primary:hover{background-color:var(--primary)}.hover\:bg-project-hover:hover{background-color:var(--project-hover)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-on-primary:hover{color:var(--on-primary)}.hover\:text-primary:hover{color:var(--primary)}}.disabled\:opacity-60:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.motion-reduce\:hidden{display:none}}@media (width>=40rem){.sm\:mt-lg{margin-top:24px}.sm\:mt-xl{margin-top:48px}.sm\:mb-lg{margin-bottom:24px}.sm\:ml-auto{margin-left:auto}.sm\:inline{display:inline}.sm\:min-h-0{min-height:0}.sm\:w-auto{width:auto}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-md{gap:16px}:where(.sm\:space-y-md>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(16px * var(--tw-space-y-reverse));margin-block-end:calc(16px * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.sm\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.sm\:p-lg{padding:24px}.sm\:p-md{padding:16px}.sm\:p-xl{padding:48px}.sm\:px-lg{padding-inline:24px}.sm\:px-md{padding-inline:16px}.sm\:py-2xl{padding-block:64px}.sm\:py-sm{padding-block:8px}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}.sm\:text-headline-lg{font-size:32px;line-height:var(--tw-leading,1.2);letter-spacing:var(--tw-tracking,-.01em);font-weight:var(--tw-font-weight,600)}.sm\:text-body-lg{font-size:16px;line-height:var(--tw-leading,1.6);font-weight:var(--tw-font-weight,400)}}@media (width>=48rem){.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-8{grid-column:span 8/span 8}.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:p-xl{padding:48px}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-ease{syntax:"*";inherits:false}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}:root{--content-max:90rem;--section-gap:4rem;--margin:24px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--site-bar-padding-block:.625rem;--nav-offset:calc(var(--safe-top) + 4rem);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.15s;--duration-reveal:.5s;--on-primary:#fff;--on-surface-variant:#3d3839;--primary:#000;--surface:#f7f9fd;--surface-container-high:#e6e8ec;--surface-container-low:#f2f4f8;--hero-bg:#fff;--grid-dot:#cfc4c5;--grid-major:#27272a0f;--body-bg:#f7f9fd;--border-default:#27272a;--project-hover:#eceef2;--invert-surface:#000;--invert-on:#fff;--shadow-brutal:0 0 0 1px var(--border-default), 3px 3px 0 var(--primary);--shadow-brutal-hover:0 0 0 1px var(--border-default), 5px 5px 0 var(--primary)}.dark{--on-primary:#14151a;--on-surface-variant:#a8afb9;--primary:#e8e8ed;--surface:#14151a;--surface-container-high:#1f2129;--surface-container-low:#1a1c24;--hero-bg:#1c1e27;--grid-dot:#34373f;--grid-major:#e8e8ed0b;--body-bg:#14151a;--border-default:#6b7280;--project-hover:#252830;--invert-surface:#f7f9fd;--invert-on:#000;--shadow-brutal:0 0 0 1px var(--border-default), 3px 3px 0 var(--primary);--shadow-brutal-hover:0 0 0 1px var(--border-default), 5px 5px 0 var(--primary)}html{scroll-behavior:smooth;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;transition:none}}html,body{overflow-x:clip}body{background-color:var(--body-bg);color:var(--primary);font-family:Geist,sans-serif}a[href],button:not(:disabled){cursor:pointer}#root{width:100%;min-height:100vh}@media (width<=639px){:root{--margin:16px;--section-gap:3rem}}@media (width>=640px){:root{--section-gap:5rem}}@media (prefers-reduced-motion:reduce){.scroll-progress{display:none}.section-reveal{opacity:1;transition:none;transform:none}.hero-reveal{opacity:1;animation:none;transform:none}.section-header:after{transition:none;transform:scaleX(1)}.brutal-lift.shadow-brutal:hover,.brutal-lift.shadow-brutal:focus-within,.brutal-lift-card.shadow-brutal:hover,.brutal-lift-card.shadow-brutal:focus-within,.featured-repo-card:hover{box-shadow:var(--shadow-brutal);transform:none}.group:hover .icon-nudge{transform:none}.stack-category:hover{box-shadow:none;transform:none}.table-row-interactive:hover{box-shadow:none}.theme-toggle-icon.is-spinning{transform:none}.copy-flash{animation:none}.skeleton-shimmer{background:var(--surface-container-high);animation:none}}@media print{.grid-bg,.scroll-progress,nav,.skip-link{display:none!important}.shadow-brutal,.brutal-lift{box-shadow:none!important;transform:none!important}body,.grid-bg{color:#000!important;background:#fff!important}a{text-decoration:underline;color:#000!important}}@keyframes hero-reveal-in{to{opacity:1;transform:translateY(0)}}@keyframes copy-flash{0%,to{border-color:var(--border-default)}50%{border-color:var(--primary)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.grid-bg{isolation:isolate;position:relative}.grid-bg:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(to right, var(--grid-major) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-major) 1px, transparent 1px), radial-gradient(circle, var(--grid-dot) 1px, transparent 1px);background-size:96px 96px,96px 96px,24px 24px;position:fixed;inset:0}
