:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--fg:#181818;--sub:#676767;--line:#e6e6e6;--link:#077187;--work-alt:#f7f8f9;--wave-line:#dadddf;--cat-fur:#caa36f;--cat-outline:#826748;font-size:clamp(100%,.833333vw,200%)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}body{color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font:.8125rem/1.7 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,sans-serif}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:.125rem;text-decoration:underline}a:focus-visible{outline:.125rem solid var(--link);outline-offset:.1875rem}p{margin:0 0 .5625rem}.page{max-width:55rem;margin:0 auto;padding:3.625rem 2.375rem 2.8125rem}.profile{align-items:center;gap:.8125rem;margin-bottom:1.75rem;padding-bottom:1.8125rem;display:flex;position:relative}.avatar{object-fit:cover;border-radius:50%;flex:none;width:3.375rem;height:3.375rem}.avatar-wrap{isolation:isolate;flex:none;display:inline-flex;position:relative}.avatar-wrap:after{content:"";pointer-events:none;background:var(--avatar-image) center/cover no-repeat;filter:saturate(1.6)brightness(.97);-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 3px),#00000040 calc(100% - 2px),#000 calc(100% - 1px)),var(--avatar-rim-strength,linear-gradient(#0009,#0009));-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 3px),#00000040 calc(100% - 2px),#000 calc(100% - 1px)),var(--avatar-rim-strength,linear-gradient(#0009,#0009));mask-image:radial-gradient(farthest-side,transparent calc(100% - 3px),#00000040 calc(100% - 2px),#000 calc(100% - 1px)),var(--avatar-rim-strength,linear-gradient(#0009,#0009));-webkit-mask-composite:source-in;border-radius:50%;position:absolute;inset:0;-webkit-mask-composite:source-in;mask-composite:intersect}.avatar-glow{z-index:-1;pointer-events:none;border-radius:50%;position:absolute;inset:-.125rem}.avatar-glow canvas{opacity:.5;border-radius:50%;width:100%;height:100%;display:block}.home-page{z-index:1;overscroll-behavior:none;scrollbar-width:none;max-height:100dvh;position:relative;overflow:auto}.home-page::-webkit-scrollbar{display:none}:is(html:has(.home-page),body:has(.home-page)){overscroll-behavior:none;height:100%;overflow:hidden}@media (min-width:651px) and (max-height:56rem){.home-page{padding-top:1.25rem;padding-bottom:1rem}.home-page .profile{margin-bottom:1rem;padding-bottom:1rem}.home-page .block{margin-bottom:1rem}.home-page .column>.block:last-child{margin-bottom:0}.home-page .project{padding-top:.4375rem;padding-bottom:.4375rem}.home-page .other-projects li{padding-top:.25rem;padding-bottom:.25rem}.home-page .all-repos{margin-top:.5625rem}.home-page .github-tabpanel{height:9.25rem}.home-page .activity-block .activity-caption{margin-bottom:.5rem}.home-page .activity-window{padding-top:.25rem;padding-bottom:.25rem}.home-page .activity-footer{margin-top:.375rem}}.site-atmosphere{z-index:0;pointer-events:none;background:radial-gradient(ellipse 35rem 27.5rem at calc(50% - 18.75rem) 3.75rem,#b9944006,transparent 72%),radial-gradient(ellipse 47.5rem 32.5rem at calc(50% + 23.75rem) 25rem,#43627604,transparent 72%),var(--atmosphere-base,var(--bg));position:fixed;inset:0}.site-atmosphere:after{content:"";opacity:.022;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23grain)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.night-sky{opacity:0;width:100%;height:100%;transition:opacity 1.8s;display:block;position:absolute;inset:0}.night-sky[data-ready=true]{opacity:1}@media (prefers-reduced-motion:reduce){.night-sky{transition:none;display:none}}.activity-block{--activity-empty:#edf1f5;--activity-1:#c9e3f2;--activity-2:#86c6e7;--activity-3:#3fa4d2;--activity-4:#087dba}.activity-block .activity-caption{color:var(--sub);justify-content:space-between;gap:.5rem;margin:0 0 .75rem;font-size:.625rem;line-height:1.5;display:flex}.activity-graph{grid-template-rows:repeat(7,auto);grid-template-columns:repeat(26,minmax(0,1fr));grid-auto-flow:column;gap:.1875rem;text-decoration:none;display:grid}.activity-scroll{overscroll-behavior-x:contain;max-width:100%;padding:0;overflow:auto hidden}.activity-scroll:focus-visible{outline:.125rem solid var(--link);outline-offset:.1875rem}.activity-track{min-width:100%}.activity-window{width:var(--activity-width,21.25rem);padding:.5rem .125rem;position:sticky;left:0}.activity-footer{align-items:center;gap:.75rem;margin-top:.625rem;display:flex}.activity-axis{min-width:0;height:1rem;color:var(--sub);flex:1;font-size:.5625rem;position:relative;overflow:hidden}.activity-axis>span{white-space:nowrap;transition:transform .62s cubic-bezier(.12,1,.18,1),opacity .26s ease-out;position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.activity-axis>span{transition:none}}.activity-footer .activity-legend{flex:none;margin-top:0}.activity-cell{aspect-ratio:1;background:var(--activity-empty);box-shadow:none;border-radius:.09375rem;transition:background-color .18s,box-shadow .18s,filter .2s;display:block}.activity-cell[data-level="1"]{background:var(--activity-1)}.activity-cell[data-level="2"]{background:var(--activity-2);box-shadow:0 0 .25rem color-mix(in srgb,var(--activity-2) 28%,transparent)}.activity-cell[data-level="3"]{background:var(--activity-3);box-shadow:0 0 .3125rem color-mix(in srgb,var(--activity-3) 35%,transparent)}.activity-cell[data-level="4"]{background:var(--activity-4);box-shadow:0 0 .125rem color-mix(in srgb,var(--activity-4) 65%,transparent),0 0 .4375rem color-mix(in srgb,var(--activity-4) 35%,transparent)}.activity-cell[data-future]{visibility:hidden}.activity-cell:hover{filter:brightness(1.2)}.activity-legend{color:var(--sub);justify-content:flex-end;align-items:center;gap:.25rem;margin-top:.625rem;font-size:.5625rem;display:flex}.activity-legend .activity-cell{width:.4375rem}.activity-legend>span:first-child{margin-right:.1875rem}.activity-legend>span:last-child{margin-left:.1875rem}.activity-loading{height:10.3125rem}.profile-text h1{margin:0;font-size:1rem;font-weight:700;line-height:1.2}.profile-text>p{color:var(--sub);margin:.1875rem 0 .375rem;font-size:.6875rem}.socials{align-items:center;gap:1rem;display:flex}.socials a{color:#252525;align-items:center;transition:opacity .2s;display:flex}.socials a:hover{opacity:.6}.socials-large{gap:1.375rem}.columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4.5rem;display:grid}.column{flex-direction:column;min-width:0;display:flex}.column>.block:last-child{margin-bottom:0}.column:last-child>.activity-block,.column:last-child>.activity-loading{margin-top:auto}@media (min-width:651px){.column:first-child>.block:last-child,.works-list{flex-direction:column;flex:1;display:flex}.project{flex:1}}.block{margin:0 0 1.75rem}.heading{align-items:center;gap:.5rem;margin:0 0 .625rem;font-size:1rem;font-weight:700;line-height:1.35;display:flex}.heading svg{color:#404040;flex:none}.heading:after{content:"";background:var(--line);flex:1;height:1px;margin-left:.5rem}.block>p{font-size:.75rem;line-height:1.9}.works-list{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line);padding:.6875rem 0 .75rem}.project-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-icon{color:#555;flex:none}.project-name{font-size:.8125rem;font-weight:600}.project-arrow{color:#939393;margin-left:.3125rem}.project-platform{color:var(--sub);text-align:right;margin-left:auto;font-size:.625rem}.project>p{color:var(--sub);margin:.1875rem 0 0 1.375rem;font-size:.71875rem;line-height:1.65}.other-projects{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.other-projects li{border-bottom:1px solid var(--line);padding:.4375rem 0;font-size:.75rem}.other-projects a{align-items:center;gap:.3125rem;display:inline-flex}.external-icon{vertical-align:-1px;opacity:.65;margin-left:.3125rem;display:inline-block}.all-repos{align-items:center;margin-top:.8125rem;font-size:.6875rem;display:inline-flex}.contact{border-top:1px solid var(--line)}.contact>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:.625rem;padding:.5rem 0;font-size:.75rem;display:flex}.contact>div>span{color:var(--sub)}.contact a{text-align:right}footer{border-top:1px solid var(--line);color:var(--sub);margin-top:1.75rem;padding-top:.9375rem;font-size:.6875rem}.detail-page{padding-top:3.125rem}.back-link{align-items:center;gap:.4375rem;font-size:.75rem;display:inline-flex}.detail-header{padding:2rem 0 2.5rem;position:relative}.detail-label{color:var(--sub);align-items:center;gap:.5rem;font-size:.6875rem;display:flex}.detail-header h1{letter-spacing:-.035em;margin:.5625rem 0 .75rem;font-size:clamp(1.6875rem,4vw,2.375rem);font-weight:700;line-height:1.25}.detail-intro{max-width:38.75rem;margin:0;font-size:.875rem;line-height:1.8}.detail-actions{flex-wrap:wrap;gap:1.25rem;margin-top:1rem;display:flex}.detail-actions>a{align-items:center;font-size:.75rem;display:flex}.detail-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:3.875rem;padding-top:1.8125rem;display:grid}.detail-content>.block{margin-bottom:1.75rem}.detail-content>.block>p{font-size:.75rem}.detail-features{margin:.25rem 0 0;padding:0 0 0 1.125rem;font-size:.75rem;line-height:1.95}.detail-gallery{min-width:0}.screenshots{flex-direction:column;gap:1.5rem;display:flex}.shot{min-width:0;margin:0}.shot a{width:100%;display:block;overflow:hidden}.shot img{object-fit:contain;object-position:left top;width:100%;max-width:100%;height:auto;max-height:27.5rem;display:block}.shot-portrait img{object-fit:contain;width:auto;max-width:100%;height:min(26.875rem,70vw)}.shot-transparent img{object-fit:contain;height:auto;max-height:25.625rem}.shot figcaption{color:var(--sub);margin-top:.375rem;font-size:.625rem}.screenshots-daytrace,.screenshots-fetchy{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem;display:grid}.screenshots-daytrace .shot img,.screenshots-fetchy .shot img{width:100%;height:auto;max-height:none}.screenshots-rounder .shot img{max-height:18.75rem}.screenshots-quickshelf .shot:first-child img{width:auto;max-width:100%;height:24.375rem}.detail-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.25rem;margin-top:2.3125rem;padding-top:1.0625rem;font-size:.75rem;display:flex}.detail-foot>a{align-items:center;gap:.375rem;display:inline-flex}@media (max-width:650px){.page{padding:1.75rem 1.375rem 1.875rem}.columns{flex-direction:column;gap:0;display:flex}.profile{margin-bottom:1.75rem}.avatar{width:2.875rem;height:2.875rem}.block{margin-bottom:1.6875rem}.detail-page{padding-top:1.5625rem}.detail-header{padding:1.6875rem 0 1.4375rem}.detail-header h1{font-size:1.9375rem}.detail-layout{flex-direction:column;gap:.125rem;padding-top:1.5625rem;display:flex}.detail-content>.block{margin-bottom:1.25rem}.screenshots{gap:1.375rem}.shot img{max-height:22.5rem}.shot-portrait img{height:auto}.screenshots-daytrace .shot img,.screenshots-fetchy .shot img{max-height:none}.detail-foot{flex-wrap:wrap}}.detail-footer{justify-content:flex-end;align-items:center;gap:1.25rem;display:flex}.work-stream{padding-top:2.5rem}.work-entry{--previous-bg:transparent;background:0 0;scroll-margin-top:.5rem;position:relative}.work-inner{padding-top:4.25rem;padding-bottom:3.75rem}.work-entry:first-of-type{scroll-margin-top:2.5rem}.work-entry:first-of-type .work-inner{padding-top:.5rem}.sine-separator{pointer-events:none;width:100%;height:1.5625rem;display:block;position:absolute;top:-1px;left:0}.work-entry>.sine-separator{top:0}.sine-separator.has-cat{height:4.6875rem;overflow:hidden}.cat-board{display:none}.wave-cat{pointer-events:all;cursor:pointer;touch-action:manipulation;outline:none}.wave-cat[visibility=hidden]{pointer-events:none}.cat-hit{stroke:#0000;stroke-width:1px}.wave-cat:focus-visible .cat-hit{stroke:var(--link);stroke-dasharray:2 3}.cat-pet-motion{transform-box:fill-box;transform-origin:50% 100%;transition:filter .18s}.wave-cat[data-hover=true] .cat-pet-motion,.wave-cat[data-focus=true] .cat-pet-motion{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--link) 45%,transparent))}.cat-heart{opacity:0;pointer-events:none;transform-box:fill-box;transform-origin:50%}.cat-variant{display:none}.wave-cat[data-kind=popcat] .cat-popcat,.wave-cat[data-kind=maxwell] .cat-maxwell,.wave-cat[data-kind=happy] .cat-happy,.wave-cat[data-kind=grumpy] .cat-grumpy{display:block}.cat-meme-open{display:none}.wave-cat:is([data-mode=swim],[data-petting=true]) .cat-meme-open{display:block}.wave-cat:is([data-mode=swim],[data-petting=true]) .cat-meme-closed{display:none}.wave-cat[data-mode=surf] .cat-board{display:block}@media (prefers-reduced-motion:reduce){.cat-pet-motion{transition:none}}.work-rail{display:none}@media (min-width:1200px){.work-rail{z-index:24;flex-direction:column;gap:.125rem;display:flex;position:fixed;top:50%;right:calc(25vw - 12.5625rem);transform:translateY(-50%)}.work-rail>a{place-items:center;width:1.75rem;height:1.75rem;display:grid;position:relative}.work-rail-square{border:.0625rem solid var(--sub);opacity:.5;width:.5rem;height:.5rem;transition:background .2s,border-color .2s,opacity .2s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .2s}.work-rail>a[aria-current] .work-rail-square{background:var(--link);border-color:var(--link);opacity:1;box-shadow:0 0 .4375rem color-mix(in srgb,var(--link) 28%,transparent)}.work-rail>a:hover .work-rail-square,.work-rail>a:focus-visible .work-rail-square{opacity:1;transform:scale(1.2)}.work-rail-label{opacity:0;filter:blur(.125rem);pointer-events:none;white-space:nowrap;background:var(--bg);color:var(--fg);padding:.1875rem .4375rem;font-size:.6875rem;transition:opacity .2s,filter .2s,transform .25s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;right:calc(100% + .5rem);transform:translate(.25rem,-50%)}.work-rail>a:hover .work-rail-label,.work-rail>a:focus-visible .work-rail-label{opacity:1;filter:none;transform:translateY(-50%)}}.work-footer{padding-top:0;padding-bottom:2rem}.work-footer footer{margin-top:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.work-intro{border-bottom:1px solid var(--line);padding-bottom:1.375rem}.work-header-shell{--header-bg:var(--bg);--glass-opacity:58%;--header-sub:#262626;--header-link:#002936}.work-header-shell[data-alternate=true]{--header-bg:var(--work-alt)}.work-header-backdrop{z-index:20;pointer-events:none;height:2.5rem;transition:height .48s cubic-bezier(.16,1,.3,1);position:fixed;inset:0 0 auto}.work-header-glass{z-index:19;pointer-events:none;background:color-mix(in srgb,var(--header-bg) var(--glass-opacity),transparent);-webkit-backdrop-filter:blur(1rem)saturate(1.15);backdrop-filter:blur(1rem)saturate(1.15);height:4rem;clip-path:var(--glass-clip,polygon(0 0,100% 0,100% calc(100% - .75rem),0 calc(100% - .75rem)));transition:height .48s cubic-bezier(.16,1,.3,1);position:fixed;inset:0 0 auto}.work-header-shell[data-docked=true] .work-header-glass{height:calc(var(--docked-height,7.5rem) + 1.5rem)}.work-header-shell[data-docked=true] .work-header-backdrop{height:var(--docked-height,7.5rem)}.work-header-backdrop .sine-separator{--previous-bg:transparent;filter:drop-shadow(0 0 .25rem #0000001f);top:auto;bottom:-1.5rem}@media (prefers-color-scheme:dark){.work-header-backdrop .sine-separator{filter:drop-shadow(0 0 .25rem #ffffff1a)}}.work-sticky{z-index:30;pointer-events:none;height:2.5rem;position:fixed;inset:0 0 auto}.work-sticky .back-link{pointer-events:auto}.work-sticky,.work-masthead[data-docked=true]{--sub:var(--header-sub);--link:var(--header-link)}.work-masthead[data-docked=true]{--header-sub:#262626;--header-link:#002936}.work-sticky-inner{padding-top:.625rem;padding-bottom:0}.work-sticky-inner>.back-link{font-size:.625rem}.work-title-origin{height:8.25rem;position:relative}.work-title-placeholder{opacity:0;pointer-events:none;color:var(--sub);align-items:center;gap:.875rem;transition:opacity .3s cubic-bezier(.2,.7,.25,1);display:flex;position:absolute;inset:0}.work-title-placeholder>span:first-child{font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:.625rem}.work-title-placeholder>span:nth-child(2){font-size:.8125rem}.work-title-placeholder>i{background:var(--line);flex:1;height:1px}.work-title-origin[data-vacated=true]>.work-title-placeholder{opacity:1}.work-masthead{pointer-events:none;transform-origin:0 0;height:8.25rem;position:relative}.work-masthead-platform{color:var(--sub);transform-origin:0 0;font-size:.6875rem;position:absolute;top:0;left:0}.work-masthead-platform>span{align-items:center;gap:.4375rem;display:flex}.work-masthead h2{letter-spacing:-.035em;transform-origin:0 0;margin:0;font-size:2.375rem;line-height:1.25;position:absolute;top:1.375rem;left:0}.work-masthead h2>span{display:block}.work-masthead .detail-actions{pointer-events:auto;transform-origin:0 0;max-width:55%;margin:0;position:absolute;top:5.5rem;left:0}.work-actions-links{flex-wrap:wrap;align-items:center;gap:.375rem 1rem;display:flex}.work-actions-links>a{white-space:nowrap;align-items:center;font-size:.75rem;display:inline-flex}.work-masthead[data-docked=true]{z-index:22;width:min(50.25rem,100vw - 4.75rem);height:3.5rem;position:fixed;top:3rem;left:max(2.375rem,50vw - 25.125rem)}.work-masthead[data-docked=true] .work-masthead-platform{font-size:.625rem}.work-masthead[data-docked=true] h2{font-size:1.75rem;top:1rem}.work-masthead[data-docked=true] .detail-actions{top:1.375rem;left:auto;right:0}@media (prefers-reduced-motion:reduce){.work-header-backdrop,.work-header-glass{transition:none}}@media (max-width:650px){.work-inner{padding-top:4.25rem;padding-bottom:2.75rem}.work-masthead h2{font-size:2.125rem}.work-masthead .detail-actions{max-width:49%}.work-masthead[data-docked=true]{width:calc(100vw - 2.75rem);left:1.375rem}.work-masthead[data-docked=true] h2{font-size:1.5625rem}.work-actions-links{gap:.3125rem .75rem}.work-actions-links>a{font-size:.625rem}}[data-reveal]{opacity:1;filter:none;transform:none}html:is([data-motion=boot],[data-motion=ready]) [data-reveal]:not(.is-revealed),html:is([data-motion=boot],[data-motion=ready]) [data-entrance]:not([data-entered=true]){visibility:hidden}.project:nth-child(4n+1),.other-projects li:nth-child(4n+1){--stagger:10ms}.project:nth-child(4n+2),.other-projects li:nth-child(4n+2){--stagger:45ms}.project:nth-child(4n+3),.other-projects li:nth-child(4n+3){--stagger:80ms}.project:nth-child(4n),.other-projects li:nth-child(4n){--stagger:.115s}.contact>div:nth-child(2){--stagger:40ms}.contact>div:nth-child(3){--stagger:80ms}.project-name{align-items:center;gap:.1875rem;transition:color .2s;display:inline-flex}.project-arrow{transition:transform .25s cubic-bezier(.16,1,.3,1),color .2s;display:inline-block}.project:hover .project-arrow,.project-name:focus-visible .project-arrow{color:var(--link);transform:translate(.25rem)}.project .inline-icon{transition:color .2s}.project:hover .inline-icon{color:var(--link)}.other-projects a,.contact a,.all-repos,.back-link,.detail-actions a,.detail-foot a{transition:color .2s,text-decoration-color .2s}.socials a{transition:opacity .2s,transform .24s cubic-bezier(.16,1,.3,1)}.socials a:hover{opacity:.65;transform:translateY(-.125rem)}.shot a img{transition:filter .28s,transform .36s cubic-bezier(.16,1,.3,1)}.shot a:hover img{filter:brightness(1.025);transform:translateY(-.125rem)}.rounder-hero{isolation:isolate;margin:1.4375rem 0 1.25rem;position:relative}.rounder-hero:before{content:"";z-index:-1;filter:blur(1.625rem);pointer-events:none;background:radial-gradient(#c9bcb8a8 0%,#d5cac35b 37%,#0000 72%);position:absolute;inset:9%}.rounder-hero>a{max-width:100%;transition:transform .35s cubic-bezier(.16,1,.3,1);display:block}.rounder-hero>a:hover{transform:translateY(-.125rem)}.rounder-hero img{object-fit:contain;width:100%;height:auto;display:block}.rounder-hero figcaption{color:var(--sub);margin-top:.375rem;font-size:.625rem}.reveal-inline{display:inline-block}@media (prefers-reduced-motion:reduce){[data-reveal],[data-reveal].is-revealed{opacity:1;filter:none;transition:none;transform:none}.project-arrow,.project .inline-icon,.socials a,.shot a img,.rounder-hero>a{transition:none}}.shader-rule{pointer-events:none;background:linear-gradient(100deg,#123685,#176ef2 45%,#5cccff 68%,#2359a8);width:100%;height:.3125rem;position:absolute;bottom:0;left:0}.shader-rule canvas{width:100%;height:100%;display:block}.shader-definitions{pointer-events:none;position:absolute}@media (prefers-color-scheme:dark){.work-header-shell{--glass-opacity:66%}.work-header-shell,.work-masthead[data-docked=true]{--header-sub:#e8e9eb;--header-link:#d6f6ff}:root{--bg:#111214;--fg:#e8e9eb;--sub:#a2a6ad;--line:#303239;--link:#81cfdf;--work-alt:#17191c;--wave-line:#35383e}.site-atmosphere{--atmosphere-base:#0c0e10}:root{--cat-fur:#ddc59f;--cat-outline:#a38a68}.activity-block{--activity-empty:#21262c;--activity-1:#173769;--activity-2:#246cc0;--activity-3:#39a8e5;--activity-4:#96dfff}.socials a,.heading svg{color:var(--fg)}.inline-icon{color:var(--sub)}.project-platform,.project-arrow,footer,.shot figcaption,.rounder-hero figcaption{color:#a2a6ad}}.page-transition{z-index:1;animation:.26s cubic-bezier(.2,.7,.25,1) backwards page-arrive;position:relative}@keyframes page-arrive{0%{opacity:.65}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page-transition{animation:none}}.github-tablist{border-bottom:1px solid var(--line);gap:1.125rem;margin-bottom:.75rem;display:flex}.github-tablist>button{font:inherit;color:var(--sub);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:0 0 .4375rem;font-size:.6875rem;transition:color .2s,border-color .2s}.github-tablist>button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--link)}.github-tablist>button:focus-visible,.insight-status>button:focus-visible{outline:.125rem solid var(--link);outline-offset:.1875rem}.github-tabpanel{height:10.5rem;overflow:auto}.github-tabpanel[hidden]{display:none}.github-tabpanel:focus-visible{outline:1px solid var(--link);outline-offset:.1875rem}.insight-caption{color:var(--sub);justify-content:space-between;gap:.625rem;margin:0 0 .75rem;font-size:.625rem;line-height:1.5;display:flex}.insight-caption>span{white-space:nowrap}.language-bar{pointer-events:none;height:.3125rem;margin:1rem 0;position:relative}.language-bar canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.language-fallback{gap:.125rem;height:100%;display:flex}.language-bar[data-mesh-ready=true]>.language-fallback{visibility:hidden}.language-list{flex-direction:column;display:flex}.insight-disclosure{border-bottom:1px solid var(--line)}.insight-row{align-items:center;gap:.75rem;min-height:2rem;font-size:.6875rem;display:flex}.insight-row>a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.insight-toggle{min-width:0;min-height:2rem;font:inherit;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;justify-content:flex-end;align-items:center;gap:.625rem;padding:.3125rem 0;display:flex}.insight-label{align-items:center;gap:.4375rem;min-width:0;margin-right:auto;display:flex}.insight-label>i{flex:none;width:.3125rem;height:.3125rem}.insight-metric{color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.625rem}.insight-toggle>svg{width:.8125rem;height:.8125rem;color:var(--sub);flex:none;transition:transform .32s cubic-bezier(.16,1,.3,1)}.insight-disclosure[data-open=true]>.insight-row .insight-toggle>svg{transform:rotate(45deg)}.insight-toggle:focus-visible{outline:1px solid var(--link);outline-offset:.125rem}.language-repos b{white-space:nowrap}@media (prefers-reduced-motion:reduce){.insight-toggle>svg{transition:none}}.download-files{border-left:1px solid var(--line);margin:0;padding:0 0 .4375rem .5625rem;list-style:none}.download-files a{justify-content:space-between;gap:.75rem;padding:.25rem 0;font-size:.625rem;display:flex}.download-files a>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.download-files small{color:var(--sub);font-size:.5625rem;display:block}.download-files b{color:var(--sub);font-variant-numeric:tabular-nums;font-size:.5625rem;font-weight:400}.insight-empty,.insight-status{color:var(--sub);padding:.625rem 0;font-size:.6875rem}.insight-status>button{font:inherit;color:var(--link);cursor:pointer;background:0 0;border:0;padding:0}@media (prefers-reduced-motion:reduce){.work-title-placeholder{transition:none}}html,.activity-scroll,.github-tabpanel{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}.activity-scroll::-webkit-scrollbar{width:0;height:0;display:none}.github-tabpanel::-webkit-scrollbar{width:0;height:0;display:none}.insight-float{z-index:100;background:var(--bg);min-width:0;color:var(--fg);border:1px solid #0000;border-block-color:var(--line);box-shadow:none;border-radius:0;outline:none;flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translateZ(0)}.insight-float-header{height:var(--anchor-height);padding:0 var(--float-inset);background:var(--bg);flex:none}.insight-float-close{width:100%;height:100%;font:inherit;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.625rem;padding:0;font-size:.6875rem;display:flex}.insight-float-close>.insight-label{flex:1}.insight-float-close>svg{width:.8125rem;height:.8125rem;color:var(--link);flex:none;transform:rotate(45deg)}.insight-float-close:focus-visible{outline:1px solid var(--link);outline-offset:-1px}.insight-float-content{min-height:0;padding:.75rem var(--float-inset);border-top:1px solid var(--line);flex-direction:column;display:flex}.insight-float[data-side=top] .insight-float-header{order:1}.insight-float[data-side=top] .insight-float-content{border-top:0;border-bottom:1px solid var(--line)}.insight-float-caption{color:var(--sub);flex-wrap:wrap;flex:none;justify-content:space-between;gap:.375rem .75rem;margin:0 0 .375rem;font-size:.625rem;line-height:1.5;display:flex}.insight-float-caption a{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.insight-float-caption svg{width:.6875rem;height:.6875rem}.insight-float-body{overscroll-behavior:contain;scrollbar-width:none;min-height:0;overflow:auto}.insight-float-body::-webkit-scrollbar{width:0;height:0;display:none}.insight-float .download-files{border:0;margin:0;padding:0}.insight-float .download-files li+li{border-top:1px solid var(--line)}.insight-float .download-files a{align-items:flex-start;padding:.625rem 0;font-size:.75rem;line-height:1.6}.insight-float .download-files a>span{white-space:normal;overflow-wrap:anywhere;overflow:visible}.insight-float .download-files b{white-space:nowrap;flex:none;padding-top:.0625rem;font-size:.6875rem}.insight-float .download-files small{margin-top:.125rem;font-size:.625rem}.insight-float-caption,.insight-float .download-files>li{opacity:1;filter:blur();transform:translate(0,0)}
