*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--site-max-width:72rem;--site-gutter:max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left), env(safe-area-inset-right));--primary:#3429ff;--shadow-rgb:35 28 102;--shadow-ring:0 0 0 1px rgb(var(--shadow-rgb) / .07);--shadow-sm:0 1px 12px rgb(var(--shadow-rgb) / .06);--shadow-md:0 8px 24px rgb(var(--shadow-rgb) / .1);--shadow-lg:0 16px 32px -12px rgb(var(--shadow-rgb) / .15);--shadow-xl:0 24px 64px -16px rgb(var(--shadow-rgb) / .15);--shadow-hover:0 12px 28px -8px rgb(var(--shadow-rgb) / .38)}.dark{--shadow-rgb:56 39 51;--shadow-ring:0 0 0 1px rgb(210 202 222 / .12);--shadow-sm:0 1px 12px rgb(var(--shadow-rgb) / .38);--shadow-md:0 8px 24px rgb(var(--shadow-rgb) / .45);--shadow-lg:0 16px 32px -12px rgb(var(--shadow-rgb) / .5);--shadow-xl:0 24px 64px -16px rgb(var(--shadow-rgb) / .55);--shadow-hover:0 12px 28px -8px rgb(var(--shadow-rgb) / .58)}body.detail-page{--site-max-width:76rem}*,*::before,*::after{box-sizing:border-box}html{overflow-x:hidden;overflow-x:clip}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.dark body{background-color:#110e1a;color:#a79fb8}.dark #logo,.dark .social a,.dark .social #theme-toggle{color:#ede7f2}html.dark:not(.top):not(.incognito) .site-header{background-color:rgba(25,22,32,.72);border-bottom-color:rgba(210,202,222,.13)}.dark .section,.dark .single h1,.dark .single h2,.dark .single h3,.dark .single h4,.dark .single h5,.dark .single h6{color:#ede7f2}.dark .single .title{color:#efa9ae}.dark .site-content a:not(.project):not(.quote-card):not(:has(img,picture,video,canvas)){color:#efa9ae;background-image:linear-gradient(#efa9ae,#efa9ae)}.dark .site-content a:not(.project):not(.quote-card):not(:has(img,picture,video,canvas)):hover,.dark .site-content a:not(.project):not(.quote-card):not(:has(img,picture,video,canvas)):focus-visible{color:#110e1a;box-shadow:.2em 0 #efa9ae,-.2em 0 #efa9ae}.dark .social a:hover,.dark nav #theme-toggle:hover{background-color:#efa9ae}.dark .social a:hover svg,.dark .social a:hover svg path,.dark nav #theme-toggle:hover svg{fill:#110e1a}.dark #logo:hover{color:#efa9ae}.dark .social a svg,.dark .social a svg path{color:#ede7f2;fill:currentColor}.dark .side-project{background-color:#201c28;border-color:#3a3444}.dark .side-project-title{color:#ede7f2}.dark .side-project-description{color:#8c839f}.dark .side-project-metrics{color:#8c839f;border-top-color:#3a3444}.dark .side-project-metric-separator{background:#4e4759}.dark .single .stat-value{color:#ede7f2}.dark .single .stat-label,.dark .single .stat-source{color:#8c839f}.dark .single .stat-icon--pr{color:#9ccfd8}.dark .single .stat-icon--merge{color:#c4a7e7}.dark .single .stat-icon--commit{color:#95d5a5}.dark .single .stat-icon--issue{color:#f6c177}.dark .single .stat-icon--issue-closed{color:#95d5a5}.dark .single .quote-card{background-color:#201c28;border-color:#3a3444}.dark .single a.quote-card:focus-visible{outline-color:#efa9ae}.dark .single .quote-name{color:#ede7f2}.dark .single .quote-handle{color:#8c839f}.dark .single .quote-logo{color:#f5f0fa}.dark .single .quote-avatar--fallback{color:#8c839f;background:#3a3444}.dark .single .quote-avatar--gen .qa-light{display:none}.dark .single .quote-avatar--gen .qa-dark{display:block}.dark .single .quote-text{color:#e0d9ec}.dark .single .quote-text mark{color:#efa9ae;background:rgb(239 169 174/.16)}.dark .single .quote-media,.dark .single .quote-stat{border-color:#3a3444}.dark .single .quote-stat{color:#8c839f}.dark .single .donut-board{--donut-label-ink:#b8afc9;--donut-line:#7d748f;--donut-label-ink-hi:#f5f0fa;--donut-line-hi:#f5f0fa}.dark .single .donut-title{color:#ede7f2}.dark .single .donut--teal{--donut-seg-0:#007463;--donut-seg-1:#9ed0c4;--donut-seg-2:#80beb0;--donut-seg-3:#60ad9c;--donut-seg-4:#3b9b88;--donut-seg-5:#048976;--donut-value:#54b9a5;--donut-value-hi:#9ee5d4}.dark .single .donut--blue{--donut-seg-0:#2456d3;--donut-seg-1:#b2c4e9;--donut-seg-2:#95b0e6;--donut-seg-3:#789be2;--donut-seg-4:#5c85de;--donut-seg-5:#406ed9;--donut-value:#81a4ea;--donut-value-hi:#c0d5fe}body{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:200ms;transition-timing-function:cubic-bezier(.4,0,1,1)}intro.home-hero{position:relative;isolation:isolate;display:block;box-sizing:border-box;width:100%;margin-top:2rem;margin-bottom:6rem;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.home-hero *{box-sizing:border-box}.home-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr)23rem;gap:4rem;align-items:center;min-height:30rem;padding:2rem 0}.home-hero-copy,.home-hero-current{min-width:0}.home-hero h1{max-width:none;margin:0;--tw-text-opacity:1;color:rgb(52 41 255/var(--tw-text-opacity,1));font-size:clamp(3.5rem,6.8vw,5.5rem);font-weight:700;line-height:.96;letter-spacing:-.06em}.home-hero-line{display:block;white-space:nowrap}.home-hero-summary{max-width:38rem;margin:1.75rem 0 0;color:#64748b;font-size:1.125rem;line-height:1.65}.home-hero-current{--t-bg:#ffffff;--t-bar:#f1f5f9;--t-line:rgba(15, 23, 42, .12);--t-text:#475569;--t-dim:#94a3b8;--t-bright:#0f172a;--t-green:#15803d;--t-cyan:#0369a1;--t-yellow:#b45309;--t-purple:#6d28d9;--t-red:#b91c1c;--t-light:#cbd5e1;overflow:hidden;border:1px solid var(--t-line);border-radius:.625rem;background:var(--t-bg);background:color-mix(in srgb,var(--t-bg) 70%,transparent);backdrop-filter:blur(18px)saturate(1.5);box-shadow:var(--shadow-xl);color:var(--t-text);font-family:jetbrains mono,monospace;font-size:.75rem;line-height:1.55;-webkit-user-select:text;-moz-user-select:text;user-select:text}.home-hero-terminal-bar{display:grid;grid-template-columns:3.25rem 1fr 3.25rem;align-items:center;min-height:2rem;padding:0 .625rem;border-bottom:1px solid var(--t-line);background:var(--t-bar);background:color-mix(in srgb,var(--t-bar) 65%,transparent)}.home-hero-lights{display:flex;gap:.4375rem}.home-hero-lights i{width:.625rem;height:.625rem;border-radius:50%;background:var(--t-light)}.home-hero-terminal-title{overflow:hidden;color:var(--t-dim);font-size:.6875rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.home-hero-terminal-body{position:relative;display:flex;flex-direction:column;height:auto;padding:.875rem .875rem .75rem;overflow:hidden}.home-hero-terminal-output{display:block;min-height:0;flex:initial;max-height:21rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--t-light)transparent;scrollbar-width:thin}.home-hero-row{margin:0;white-space:pre-wrap;word-break:break-word}.home-hero-row+.home-hero-row{margin-top:.125rem}.home-hero-row+.home-hero-row.is-spaced{margin-top:.625rem}.home-hero-terminal-controls{position:relative;flex:none;margin-top:.625rem}.home-hero-terminal-form{display:flex;align-items:center;min-height:1.25rem}.home-hero-terminal-input-wrap{position:relative;min-width:0;flex:auto;align-items:center;margin-left:.375rem;overflow:hidden}.home-hero-terminal-input{position:relative;z-index:0;width:100%;min-width:0;margin:0;padding:0;border:0;outline:0;background:0 0;color:var(--t-bright);font:inherit;line-height:inherit;caret-color:transparent}.home-hero-terminal-input::-moz-placeholder{color:var(--t-dim);opacity:.8}.home-hero-terminal-input::placeholder{color:var(--t-dim);opacity:.8}.home-hero-terminal-hint{position:absolute;top:0;left:0;z-index:0;display:flex;align-items:center;color:var(--t-dim);font:inherit;line-height:inherit;white-space:pre;opacity:.8;pointer-events:none}.home-hero-terminal-input:not(:-moz-placeholder)~.home-hero-terminal-hint{display:none}.home-hero-terminal-input:not(:placeholder-shown)~.home-hero-terminal-hint{display:none}.home-hero-terminal-hint-link{margin:0;padding:0;border:0;background:0 0;color:var(--t-cyan);font:inherit;line-height:inherit;cursor:pointer;pointer-events:auto}.home-hero-terminal-hint-link:hover{text-decoration:underline;text-underline-offset:.18em}.home-hero-terminal-caret-layer{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;width:-moz-max-content;width:max-content;min-width:100%;overflow:visible;color:transparent;font:inherit;line-height:inherit;white-space:pre;pointer-events:none}.home-hero-terminal-caret{display:inline-block;visibility:hidden;width:.55em;height:1.3em;background:var(--t-green);vertical-align:-.16em}.home-hero-terminal-form:focus-within .home-hero-terminal-caret{visibility:visible;animation:home-hero-terminal-blink 1.1s steps(1,end)infinite}@keyframes home-hero-terminal-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.home-hero-terminal-form:focus-within .home-hero-terminal-caret{animation:none}}.home-hero-terminal-suggestions{position:absolute;right:0;bottom:calc(100% + .5rem);left:0;z-index:2;max-height:11rem;margin:0;padding:.3125rem;overflow-y:auto;list-style:none;border:1px solid var(--t-line);border-radius:.5rem;background:var(--t-bg);background:color-mix(in srgb,var(--t-bg) 88%,transparent);backdrop-filter:blur(10px);box-shadow:var(--shadow-md),var(--shadow-lg)}.home-hero-terminal-suggestion{display:flex;width:100%;align-items:baseline;gap:.625rem;padding:.3125rem .5rem;border:0;border-radius:.3125rem;background:0 0;color:var(--t-text);font:inherit;text-align:left;cursor:pointer;transition:background-color .1s ease,color .1s ease}.home-hero-terminal-suggestion+.home-hero-terminal-suggestion{margin-top:.0625rem}.home-hero-terminal-suggestion:hover{background:var(--t-bar);color:var(--t-bright)}.home-hero-terminal-suggestion.is-active{background:color-mix(in srgb,var(--t-cyan) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t-cyan) 28%,transparent);color:var(--t-bright)}.home-hero-terminal-suggestion-name{flex:none;min-width:4.25rem;color:var(--t-cyan)}.home-hero-terminal-suggestion-description{overflow:hidden;color:var(--t-dim);text-overflow:ellipsis;white-space:nowrap}.home-hero-terminal-suggestion:hover .home-hero-terminal-suggestion-description,.home-hero-terminal-suggestion.is-active .home-hero-terminal-suggestion-description{color:var(--t-text)}.home-hero-current .home-hero-terminal-link{color:var(--t-cyan);text-decoration:none;text-underline-offset:.18em}.home-hero-current .home-hero-terminal-link:hover,.home-hero-current .home-hero-terminal-link:focus-visible{text-decoration:underline}.home-hero-current .home-hero-terminal-action{display:block;width:100%;margin:0;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;color:inherit;font:inherit;text-align:left;cursor:pointer}.home-hero-current .home-hero-terminal-action:hover:not(:disabled) .t-cmd,.home-hero-current .home-hero-terminal-action:focus-visible .t-cmd{color:var(--t-cyan)}.home-hero-current .home-hero-terminal-action:focus-visible{outline:1px solid var(--t-cyan);outline-offset:2px;border-radius:.25rem}.home-hero-current .home-hero-terminal-action.is-active{margin-inline:-.375rem;padding-inline:.375rem;border-radius:.3125rem;background:color-mix(in srgb,var(--t-cyan) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t-cyan) 28%,transparent)}.home-hero-current .home-hero-terminal-action.is-active .t-scope{color:var(--t-cyan)}.home-hero-current .home-hero-terminal-action.is-active .t-cmd{color:var(--t-bright)}.home-hero-current .home-hero-terminal-action:disabled{cursor:default;opacity:.55}.home-hero-current.is-choosing .home-hero-terminal-controls{margin-top:0}.home-hero-current.is-choosing .home-hero-terminal-form{height:0;min-height:0;overflow:hidden;opacity:0;pointer-events:none}.home-hero-current .t-ps1{color:var(--t-green)}.home-hero-current .t-cmd{color:var(--t-bright)}.home-hero-current .t-hash{color:var(--t-purple)}.home-hero-current .t-scope{color:var(--t-cyan)}.home-hero-current .t-out{color:var(--t-text)}.home-hero-current .t-ok{color:var(--t-green)}.home-hero-current .t-dim{color:var(--t-dim)}.home-hero-current .t-added{color:var(--t-green)}.home-hero-current .t-modified{color:var(--t-yellow)}.home-hero-current .t-deleted{color:var(--t-red)}.home-hero-current .t-deleted-file{color:var(--t-red);text-decoration-line:line-through;text-decoration-thickness:.08em;text-decoration-color:initial}.home-hero-current .t-error{color:var(--t-red)}.home-hero-current .t-muted{color:var(--t-dim)}.dark .home-hero-current{--t-bg:#161221;--t-bar:#221c32;--t-line:rgba(210, 202, 222, .15);--t-text:#cec6de;--t-dim:#7e7599;--t-bright:#f5f0fa;--t-green:#95d5a5;--t-cyan:#9ccfd8;--t-yellow:#f6c177;--t-purple:#c4a7e7;--t-red:#eb6f92;--t-light:#453c5c}.dark .home-hero h1{color:#efa9ae}.dark .home-hero-summary{color:#8c839f!important}[data-project-theme]{--project-theme-surface:#fafbfc;--project-theme-artwork:linear-gradient(180deg, #fdfdff 0%, #f6f8fa 100%);--project-theme-size:100% 100%;--project-theme-position:50% 50%;--project-theme-transform:none;--project-theme-hover-transform:none;--project-theme-shadow-tint:var(--shadow-rgb)}.dark [data-project-theme]{--project-theme-surface:#1c1824;--project-theme-artwork:linear-gradient(180deg, #201c28 0%, #18151f 100%)}[data-project-theme=cli]{--project-theme-surface:#ecf1f7;--project-theme-artwork:radial-gradient(ellipse 78% 145% at -6% 18%, #dbe5f2 0%, rgba(219,229,242,.55) 34%, transparent 68%),
      radial-gradient(ellipse 86% 155% at 108% 82%, #e5eef5 0%, rgba(229,238,245,.5) 36%, transparent 70%),
      linear-gradient(145deg, #eff4f9 10%, #e8eff5 90%);--project-theme-size:118% 118%;--project-theme-position:50% 46%;--project-theme-shadow-tint:62 84 122}.dark [data-project-theme=cli]{--project-theme-surface:#1a2231;--project-theme-artwork:radial-gradient(ellipse 78% 145% at -6% 18%, #31435f 0%, rgba(49,67,95,.55) 34%, transparent 68%),
      radial-gradient(ellipse 86% 155% at 108% 82%, #263a52 0%, rgba(38,58,82,.5) 36%, transparent 70%),
      linear-gradient(145deg, #182030 10%, #1d2738 90%);--project-theme-shadow-tint:30 42 68}.iterations-icons{color:#2d2d2d;--icon-gap:var(--project-theme-surface)}.dark .iterations-icons{color:#f4f4f4}.section{font-size:1.875rem;line-height:2.25rem;font-weight:700;margin-top:clamp(5rem,11vw,8rem);margin-bottom:clamp(1.75rem,4vw,2.5rem)}.section--work{font-family:inter,ui-sans-serif,system-ui,sans-serif;font-weight:700;line-height:1;letter-spacing:-.05em}.section--featured-work{font-size:clamp(2.5rem,5vw,3.5rem)}.section--side-projects{font-size:clamp(2.125rem,4vw,2.75rem)}#selected-work{display:grid;grid-auto-flow:row;gap:clamp(.5rem,1vw,.75rem)}.project{position:relative;display:block;width:100%;overflow:hidden;text-decoration-line:none;--project-aurora:linear-gradient(180deg, #fdfdff 0%, #f6f8fa 100%);--project-aurora-position:center;--project-aurora-size:100% 100%;--project-aurora-transform:scale(1);--project-aurora-hover-transform:scale(1.04);--project-surface:linear-gradient(180deg, rgba(253, 253, 255, .34) 0%, rgba(246, 248, 250, .42) 100%);background-color:transparent;background-image:var(--project-surface);background-position:var(--project-aurora-position);background-size:var(--project-aurora-size);border-radius:1rem;backdrop-filter:blur(10px)saturate(1.4);box-shadow:var(--shadow-ring),var(--shadow-sm);container-type:inline-size;height:clamp(18rem,33.333cqw,24rem);isolation:isolate;transition:background-color .35s ease}.project::before{content:'';pointer-events:none;position:absolute;inset:0;z-index:10;background-color:rgba(255,255,255,.2);backdrop-filter:blur(8px);opacity:0;transition:opacity .35s ease}.project::after{content:'';position:absolute;inset:-12%;z-index:1;background-image:var(--project-aurora);background-position:var(--project-aurora-position);background-size:var(--project-aurora-size);mix-blend-mode:soft-light;opacity:.3;pointer-events:none;transform:var(--project-aurora-transform);transition:opacity .45s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.dark .project{--project-aurora:linear-gradient(180deg, #201c28 0%, #18151f 100%);--project-surface:linear-gradient(180deg, rgba(32, 28, 40, .46) 0%, rgba(24, 21, 31, .54) 100%);background-color:transparent}.dark .project::before{background-color:rgba(17,14,26,.35)}.dark .project .title{-webkit-text-stroke-color:#efa9ae;mix-blend-mode:screen}.dark .project:hover .title,.dark .project:focus-visible .title{color:#efa9ae}.dark .project:focus-visible{outline-color:#efa9ae}.project.project--themed{--project-aurora:var(--project-theme-artwork);--project-aurora-size:var(--project-theme-size);--project-aurora-position:var(--project-theme-position);--project-aurora-transform:var(--project-theme-transform);--project-aurora-hover-transform:var(--project-theme-hover-transform)}.dark .project.project--themed{--project-aurora:var(--project-theme-artwork)}.project-media{position:absolute;inset:0;z-index:0;overflow:hidden;width:100%;min-width:0;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project .thumbnail{pointer-events:none;position:absolute;inset:0;margin:0;height:100%;width:100%;display:block;min-width:0;max-width:100%;-o-object-fit:cover;object-fit:cover}.project .thumbnail.card-video{height:auto;right:auto;bottom:auto;-o-object-fit:initial;object-fit:initial;border-radius:1rem;transform:translateX(-50%)}.project .card-video--kustomer-design-system{width:85%;top:12%;left:50%}.project .card-video--onboarding{width:90%;top:10%;left:50%}.project--embed .project-embed-frame{border:0;background:0 0;color-scheme:normal}.project-meta{position:absolute;left:0;right:0;z-index:10;display:flex;justify-content:center;text-align:center;top:50%;padding:0 clamp(.75rem,2.5cqw,1.75rem);box-sizing:border-box;pointer-events:none;transform:translateY(-50%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.project .title{margin:0;display:inline-block;text-align:center;font-weight:800;--tw-text-opacity:1;color:rgb(52 41 255/var(--tw-text-opacity,1));max-width:100%;font-size:clamp(2.25rem,10cqw,7.375rem);letter-spacing:-.045em;line-height:.92;color:transparent;-webkit-text-stroke:2px #2A25FF;overflow-wrap:anywhere;transition:color .35s ease,transform .35s ease;mix-blend-mode:multiply}.project .title svg{display:inline-block;width:.62em;height:.62em;margin-left:.08em;vertical-align:.02em;stroke-width:1.75}.project:hover .project-media,.project:focus-visible .project-media{transform:scale(1.04)}.project:hover::after,.project:focus-visible::after{opacity:.45;transform:var(--project-aurora-hover-transform)}.project:hover .project-meta,.project:focus-visible .project-meta{transform:translateY(-53%)}.project:hover .title,.project:focus-visible .title{color:#2a25ff;transform:scale(1.05)}.project:hover::before,.project:focus-visible::before{opacity:1}.project:hover,.project:focus-visible{background-color:rgba(253,253,255,.55)}.dark .project:hover,.dark .project:focus-visible{background-color:rgba(24,21,31,.5)}.project:focus-visible{outline:3px solid #2a25ff;outline-offset:3px}@media(prefers-reduced-motion:reduce){.project,.project-media,.project .title,.project::before,.project::after,.project-meta{transition:none}.project:hover .project-media,.project:focus-visible .project-media{transform:none}.project:hover .title,.project:focus-visible .title{transform:none}.project:hover::after,.project:focus-visible::after{transform:var(--project-aurora-transform)}}#side-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(12.5rem,calc(50% - .5rem)),1fr));gap:clamp(.625rem,2vw,1rem);margin-top:clamp(1.75rem,4vw,2.5rem)}.side-project{display:block;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));text-align:center;text-decoration-line:none;border:1px solid #e2e8f0;border-radius:1rem;padding:clamp(1.125rem,3vw,1.375rem)clamp(.75rem,2.5vw,1rem);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}.side-project:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.side-project--game{width:100%;font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}#side-projects img{margin:0;width:3.5rem;height:3.5rem;border-radius:.875rem;margin-inline:auto}.side-project-title{margin:0;font-weight:700;--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1));margin-top:.75rem;font-size:.9375rem}.side-project-description{margin:0;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.375rem;font-size:.8125rem;line-height:1.35;overflow-wrap:anywhere}.side-project-metrics{display:flex;align-items:center;justify-content:center;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eef2f6;gap:.4375rem;font-size:.6875rem;font-weight:700;line-height:1}.side-project-metric-count{margin-left:.1875rem;font-weight:600;opacity:.72}.side-project-metric{display:inline-flex;align-items:center;gap:.1875rem}.side-project-metric-icon{width:.6875rem;height:.6875rem;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.side-project-metric--likes .side-project-metric-icon,.side-project-metric--rating .side-project-metric-icon{fill:currentColor;stroke-width:1.25}.side-project-metric-separator{width:2px;height:2px;border-radius:999px;background:#cbd5e1}@media(max-width:40rem){.section--featured-work{font-size:clamp(2.25rem,11vw,3rem)}.section--side-projects{font-size:clamp(2rem,10vw,2.5rem)}.project{border-radius:.875rem}.project .thumbnail.card-video{border-radius:.875rem}}@media(prefers-reduced-motion:reduce){.side-project{transition:none}.side-project:hover{transform:none}}.single{--media-gap:clamp(2rem, 6vw, 3rem);--caption-lead:.875rem;--rule-gap:clamp(1.5rem, 4vw, 2rem);--heading-lead:clamp(3.5rem, 9vw, 5rem);--para-gap:1.15em;--text-measure:50rem;--rule-overhang:2rem;--wide-measure:calc(var(--text-measure) + var(--rule-overhang) + var(--rule-overhang));display:grid;grid-template-columns:[wide-start] minmax(0,1fr) [text-start] minmax(0,var(--text-measure)) [text-end] minmax(0,1fr) [wide-end];min-width:0;overflow-wrap:anywhere}.single>*{grid-column:text}.single>img,.single>video,.single>iframe,.single>.project-embed,.single>.video-frame,.single>.quote-grid,.single>.donut-board,.single>.media-caption,.single>.separator{grid-column:wide}.single>:is(img,video,iframe,.project-embed,.video-frame,.stat-block,.quote-card,.quote-grid,.donut-board,.media-caption)+:is(img,video,iframe,.project-embed,.video-frame,.stat-block,.quote-card,.quote-grid,.donut-board){margin-top:0}.single>:is(img,video,iframe,.project-embed,.video-frame,.stat-block,.quote-card,.quote-grid,.donut-board,.media-caption)+h1{margin-top:calc(var(--heading-lead) - var(--media-gap))}.single>.separator+:is(img,video,iframe,.project-embed,.video-frame,.stat-block,.quote-card,.quote-grid,.donut-board){margin-top:calc(var(--media-gap) - var(--rule-gap))}.single>.separator+h1{margin-top:calc(var(--heading-lead) - var(--rule-gap))}.single>:is(p,ul,ol):not(.title):not(.description):not(.media-caption)+:is(p,ul,ol):not(.title):not(.description):not(.media-caption){margin-top:var(--para-gap)}.single .title{margin:0!important;margin-bottom:1rem!important;font-weight:800!important;--tw-text-opacity:1;color:rgb(52 41 255/var(--tw-text-opacity,1));padding-top:clamp(4rem,10vw,6rem);font-size:clamp(3rem,8vw,6rem);line-height:.95;letter-spacing:-.05em}.single .description{font-weight:500;font-size:clamp(1.0625rem,2vw,1.25rem);line-height:1.55}.single .separator{height:1px;display:block;border-width:0;background-color:currentColor;opacity:.1;width:var(--wide-measure);max-width:100%;margin-block:var(--rule-gap);margin-inline:auto}.single img,.single video,.single iframe{border-radius:.5rem;box-shadow:var(--shadow-lg);max-width:100%;margin-block:var(--media-gap)}.single img,.single video{width:100%;height:auto}.single .northstar-project-demo{margin-block:var(--media-gap)}.single .northstar-project-demo iframe.embed-frame{display:block;width:100%;height:clamp(20rem,69.5vw,50rem);margin:0}.single .onboarding-project-demo{margin-block:var(--media-gap)}.single .onboarding-project-demo iframe.embed-frame{display:block;width:100%;height:clamp(20rem,61.75vw,45rem);margin:0}.single>.feedback-board-embed{grid-column:wide;margin-block:var(--media-gap)}.single .feedback-board-embed iframe.embed-frame{display:block;width:100%;height:auto;margin:0;aspect-ratio:1186/610;border-radius:0;box-shadow:none;background:0 0}.single>.card-framework-embed{grid-column:wide;margin-block:var(--media-gap)}.single .card-framework-embed iframe.embed-frame{display:block;width:100%;height:auto;margin:0;aspect-ratio:1240/720;border-radius:0;box-shadow:none;background:0 0}.single .project-embed--reveal iframe.embed-frame{display:block;width:100%;height:auto;margin:0;aspect-ratio:var(--reveal-ratio,1728/931);border-radius:0}.single .project-embed--reveal-4x3{--reveal-ratio:4 / 3}.single h1{margin-bottom:1rem;font-weight:700;margin-top:var(--heading-lead);font-size:clamp(1.875rem,5vw,2.25rem);line-height:1.15}.single .project-embed{margin:var(--media-gap)0;padding:clamp(.75rem,5vw,3.5rem);border-radius:.75rem;background-color:var(--project-theme-surface);background-image:var(--project-theme-artwork);background-position:var(--project-theme-position);background-size:var(--project-theme-size);--embed-shadow-tint:var(--project-theme-shadow-tint, var(--shadow-rgb));--embed-shadow-far:.3;--embed-shadow-near:.2}.dark .single .project-embed{--embed-shadow-far:.5;--embed-shadow-near:.35}.single .project-embed>img,.single .project-embed>video,.single .project-embed>.inline-svg,.single .project-embed iframe.embed-frame{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;background:0 0;box-shadow:0 18px 44px rgb(var(--embed-shadow-tint)/var(--embed-shadow-far)),0 3px 10px rgb(var(--embed-shadow-tint)/var(--embed-shadow-near))}.single .project-embed>.inline-svg>svg{display:block;width:100%;height:auto}.single .project-embed--cutout>img,.single .project-embed--cutout>video,.single .project-embed--cutout>.inline-svg{border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 6px rgb(var(--embed-shadow-tint)/var(--embed-shadow-near)))drop-shadow(0 12px 28px rgb(var(--embed-shadow-tint)/var(--embed-shadow-far)))}.single .project-embed--cutout>.inline-svg.iterations-icons-embed{filter:drop-shadow(0 .5px .75px rgb(var(--embed-shadow-tint)/var(--embed-shadow-near)))drop-shadow(0 1.5px 3px rgb(var(--embed-shadow-tint)/var(--embed-shadow-far)))}.single .project-embed>img.media-rounded,.single img.media-rounded{border-radius:.75rem}.single .project-embed--media{position:relative}.single .video-frame{position:relative;margin-block:var(--media-gap)}.single .video-frame>video{display:block;margin:0}.single .video-play-button{position:absolute;inset:0;margin:auto;width:clamp(4.5rem,10vw,6rem);height:clamp(4.5rem,10vw,6rem);display:grid;place-items:center;padding:0;border:1px solid rgb(255 255 255/.25);border-radius:9999px;background-color:rgb(0 0 0/.55);backdrop-filter:blur(8px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .18s ease,background-color .18s ease}@media(hover:hover){.single .video-play-button:hover{background-color:rgb(0 0 0/.72);transform:scale(1.06)}}.single .video-play-button:focus-visible{background-color:rgb(0 0 0/.72);transform:scale(1.06);outline:2px solid #fff;outline-offset:3px}.single .video-play-button:active{transform:scale(.96)}.single .video-play-button[hidden]{display:none}.single .video-play-button svg{width:46%;height:auto}@media(prefers-reduced-motion:reduce){.single .video-play-button{transition:none}}.single .project-embed[data-project-theme=notebooks] iframe.embed-frame,.dark .single .project-embed[data-project-theme=notebooks] iframe.embed-frame{border-radius:0!important;box-shadow:none}.single .onboarding-project-demo iframe.embed-frame,.dark .single .onboarding-project-demo iframe.embed-frame{border-radius:0!important;box-shadow:none}.single .project-embed--bare iframe.embed-frame,.dark .single .project-embed--bare iframe.embed-frame{border-radius:0!important;box-shadow:none}.single .project-embed--chart{width:100%;margin-inline:auto}.single .project-embed--chart iframe.embed-frame,.dark .single .project-embed--chart iframe.embed-frame{display:block;width:100%;height:auto;margin:0;aspect-ratio:820/500;border-radius:0!important;box-shadow:none}.single .project-embed--log iframe.embed-frame,.single .project-embed--compare iframe.embed-frame{display:block;width:100%;height:auto;margin:0;aspect-ratio:var(--embed-aspect)}.single .project-embed--log{--embed-aspect:820 / 481}.single .project-embed--compare{--embed-aspect:820 / 285}.single .project-embed--compare iframe.embed-frame,.dark .single .project-embed--compare iframe.embed-frame{border-radius:0!important;box-shadow:none}.single .project-embed--board iframe.embed-frame,.dark .single .project-embed--board iframe.embed-frame{display:block;width:100%;height:auto;margin:0;aspect-ratio:1224/714;border-radius:0!important;box-shadow:none}.single .project-embed--chart[data-project-theme=cli]{display:flex;align-items:center;justify-content:center}.single .project-embed--chart[data-project-theme=cli] iframe{max-width:var(--text-measure)}.single .project-embed--transparent,.dark .single .project-embed--transparent{padding:0;background-color:transparent;background-image:none}.single .project-embed[data-project-theme=notebooks]:not(.project-embed--media){padding-block:clamp(.75rem,2vw,1.5rem)}html.transparent .single .project-embed[data-project-theme]{padding:0;background-color:transparent;background-image:none}.single .media-caption{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));max-width:34rem;margin-block:var(--caption-lead)var(--media-gap);margin-inline:auto;font-size:.8125rem;font-style:italic;font-weight:400;line-height:1.6;letter-spacing:.012em;text-align:center;text-wrap:balance;padding-left:.15em}.single .media-caption em,.single .media-caption i,.single .media-caption cite{font-style:normal}.single .media-caption strong{font-weight:600;font-style:normal}.single img+.media-caption,.single video+.media-caption,.single iframe+.media-caption,.single .project-embed+.media-caption,.single .video-frame+.media-caption,.single .feedback-board-embed+.media-caption,.single .card-framework-embed+.media-caption,.single .donut-board+.media-caption{margin-top:calc(var(--caption-lead) - var(--media-gap))}.dark .single .media-caption{color:#8c839f}.single .stat-block{margin-block:var(--media-gap)}.single .stat-source{margin:0;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));font-family:jetbrains mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;letter-spacing:-.01em}.single .stat-chart{display:grid;gap:.625rem;margin-top:clamp(1.25rem,3vw,1.75rem)}.single .stat-chart-row{display:grid;grid-template-columns:3.75rem minmax(0,1fr);align-items:center;gap:1rem}.single .stat-chart-tag{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.single .stat-chart-bar{display:flex;height:clamp(2.25rem,4vw,2.75rem);border-radius:.5rem;overflow:hidden}.single .stat-chart-seg{display:grid;place-content:center;min-width:0;color:#fff;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}@media(max-width:35rem){.single .stat-chart-seg--tight>span{display:none}}.single .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:start;gap:clamp(1.25rem,3vw,1.75rem)1.5rem;margin-top:clamp(1.25rem,3vw,1.75rem)}.single .stat{display:flex;align-items:flex-start;gap:.875rem;min-width:0}.single .stat-text{min-width:0}.single .stat-icon{width:clamp(2.25rem,4.4vw,3.5rem);height:clamp(2.25rem,4.4vw,3.5rem);flex:none;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.single .stat-value{display:flex;flex-wrap:wrap;align-items:baseline;font-weight:800;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));gap:0 .28em;font-size:clamp(1.75rem,3.05vw,2.75rem);font-variant-numeric:tabular-nums;letter-spacing:-.05em;line-height:1.06;overflow-wrap:normal;word-break:normal}.single .stat-pill{display:inline-flex;align-items:center;gap:.18em;flex:none;padding:.2em .4em .25em;border-radius:.35em;font-size:.3em;font-weight:700;letter-spacing:0;line-height:1}.single .stat-pill svg{width:.72em;height:.72em;fill:currentColor}.single .stat-pill--up{color:#0f9d58;background:rgb(15 157 88/.13)}.single .stat-pill--down{color:#dc2626;background:rgb(220 38 38/.13)}.dark .single .stat-pill--up{color:#95d5a5;background:rgb(149 213 165/.15)}.dark .single .stat-pill--down{color:#eb6f92;background:rgb(235 111 146/.15)}.single .stat-label{display:block;--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));margin-top:.375rem;font-size:.8125rem;line-height:1.35}.single .stat-key{display:inline-block;width:.625rem;height:.625rem;margin-right:.45rem;border-radius:.1875rem;vertical-align:baseline}.single .quote-card{display:block;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));text-decoration-line:none;margin-block:var(--media-gap);max-width:700px;margin-inline:auto;border:1px solid #e2e8f0;border-radius:1rem;padding:clamp(1.25rem,3.5vw,1.875rem)}.single a.quote-card{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}.single a.quote-card:hover,.single a.quote-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.single a.quote-card:focus-visible{outline:2px solid #3429ff;outline-offset:3px}@media(prefers-reduced-motion:reduce){.single a.quote-card{transition:none}.single a.quote-card:hover,.single a.quote-card:focus-visible{transform:none}}.single .quote-header{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-items:center;gap:.875rem}.single .quote-avatar{width:3rem;height:3rem;margin:0;border-radius:9999px;box-shadow:none;-o-object-fit:cover;object-fit:cover}.single .quote-avatar--fallback{color:#94a3b8;background:#f1f5f9}.single .quote-avatar--gen{display:block}.single .quote-avatar--gen svg{display:block;width:100%;height:100%}.single .quote-avatar--gen .qa-dark{display:none}.single .quote-avatar--gen .qa-float,.single .quote-avatar--gen .qa-anim{transform-box:view-box;transform-origin:center}.single .quote-avatar--gen .qa-float{animation:qa-drift-y var(--qa-dy,13s)ease-in-out var(--qa-py,0s)infinite}.single .quote-avatar--gen .qa-anim{animation:qa-drift-x var(--qa-dx,9s)ease-in-out var(--qa-px,0s)infinite}.single .quote-avatar--gen .qa-anim circle{transform-box:fill-box;transform-origin:center}.single .quote-avatar--gen .qa-anim path{stroke-dasharray:1}.single .qa-in .qa-anim circle{animation:qa-pop .45s cubic-bezier(.2,.8,.2,1)calc(var(--qa-ind,0s) + var(--d,0s))backwards,qa-pulse var(--qa-amb,5s)ease-in-out calc(.45s + var(--qa-ind,0s) + var(--d,0s) + var(--qa-off,0s))infinite}.single .qa-in .qa-anim path{animation:qa-draw .5s ease-out calc(var(--qa-ind,0s) + var(--d,0s))backwards,qa-breathe var(--qa-amb,5s)ease-in-out calc(.5s + var(--qa-ind,0s) + var(--d,0s) + var(--qa-off,0s))infinite}@keyframes qa-drift-x{0%,100%{transform:translateX(-4px)scale(1.15)}50%{transform:translateX(4px)scale(1.15)}}@keyframes qa-drift-y{0%,100%{transform:translateY(-4px)rotate(-2.5deg)}50%{transform:translateY(4px)rotate(2.5deg)}}@keyframes qa-pop{from{transform:scale(0)}to{transform:scale(1)}}@keyframes qa-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes qa-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes qa-breathe{0%,100%{opacity:1}50%{opacity:.72}}@media(prefers-reduced-motion:reduce){.single .quote-avatar--gen .qa-float,.single .quote-avatar--gen .qa-anim,.single .qa-in .qa-anim circle,.single .qa-in .qa-anim path{animation:none}}.single .quote-byline{display:grid;gap:.125rem;min-width:0}.single .quote-name{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1));font-size:1rem;font-weight:700;line-height:1.2;overflow-wrap:normal;word-break:normal}.single .quote-handle{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.single .quote-logo{display:inline-flex;color:#24292f}.single .quote-logo svg{height:1.5rem;width:auto}.single .quote-text{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));margin-top:clamp(1rem,2.5vw,1.25rem);font-size:clamp(1rem,2vw,1.1875rem);font-weight:500;line-height:1.55;letter-spacing:-.01em}.single .quote-text p{margin:0}.single .quote-text p+p{margin-top:var(--para-gap)}.single .quote-text mark{color:#241bc7;background:rgb(52 41 255/.1);padding:.06em .25em;margin-inline:-.06em;border-radius:.3em;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:600}.single .quote-media{display:block;width:100%;margin:clamp(1rem,2.5vw,1.25rem)0 0;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:none}.single .quote-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:clamp(1rem,2.5vw,1.25rem)}.single .quote-stat{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));display:inline-flex;align-items:center;gap:.375rem;border:1px solid #e2e8f0;border-radius:9999px;padding:.3125rem .6875rem;font-size:.8125rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.single .quote-stat-mark{display:inline-flex;font-size:.9375rem;line-height:1}.single .quote-stat-mark svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.single .quote-grid{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:clamp(.875rem,2vw,1.25rem);margin-block:var(--media-gap);width:100%;max-width:66rem;margin-inline:auto}.single .quote-grid:has(>:nth-child(4)){grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:48rem){.single .quote-grid,.single .quote-grid:has(>:nth-child(4)){grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:none}}.single .quote-grid .quote-card{margin:0;max-width:none;padding:1.25rem}.single .quote-grid .quote-header{gap:.75rem}.single .quote-grid .quote-avatar{width:2.5rem;height:2.5rem}.single .quote-grid .quote-logo svg{height:1.25rem}.single .quote-grid .quote-name{font-size:.9375rem}.single .quote-grid .quote-handle{font-size:.8125rem}.single .quote-grid .quote-text{margin-top:.875rem;font-size:1rem}.single .quote-grid .quote-media,.single .quote-grid .quote-stats{margin-top:.875rem}.single .donut-board{--donut-label-ink:#334155;--donut-line:#94a3b8;--donut-label-ink-hi:#1c1725;--donut-line-hi:#1c1725;--donut-gap:clamp(1.5rem, 4vw, 3rem);margin-block:var(--media-gap)}.single .donut-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:var(--donut-gap)}.single .donut--teal{--donut-seg-0:#045a4d;--donut-seg-1:#85b7ab;--donut-seg-2:#67a597;--donut-seg-3:#469484;--donut-seg-4:#1a8371;--donut-seg-5:#006f5f;--donut-value:#037a69;--donut-value-hi:#005448}.single .donut--blue{--donut-seg-0:#0f3bb7;--donut-seg-1:#99abce;--donut-seg-2:#7d97cb;--donut-seg-3:#6182c8;--donut-seg-4:#456cc3;--donut-seg-5:#2a56be;--donut-value:#2d5ed4;--donut-value-hi:#143ca1}.single .donut-title{font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1));margin:0 0 clamp(.5rem,1.5vw,1rem);font-size:clamp(1.25rem,2.4vw,1.625rem);line-height:1.15;text-align:center;text-wrap:balance}.single .donut-svg{display:block;width:100%;height:auto}.single .donut-svg text{fill:var(--donut-label-ink);font-size:17px;font-weight:500;letter-spacing:.01em}.single .donut-svg .donut-value{fill:var(--donut-value);font-weight:700}.single .donut-seg{fill:none}.single .donut-lead{fill:none;stroke:var(--donut-line);stroke-width:1.5}.single .donut-dot{fill:var(--donut-line)}.single .donut-svg text.donut-centre{fill:var(--donut-label-ink-hi);font-size:46px;font-weight:700;letter-spacing:-.03em}.single .donut-chart[data-hover] .donut-seg{opacity:.32}.single .donut-chart[data-hover] .donut-callout{opacity:.45}.single .donut-chart[data-hover] .donut-seg[data-hot],.single .donut-chart[data-hover] .donut-callout[data-hot]{opacity:1}.single .donut-seg[data-hot]{stroke-width:var(--donut-band-hot)}.single .donut-callout[data-hot] .donut-label{fill:var(--donut-label-ink-hi)}.single .donut-callout[data-hot] .donut-value{fill:var(--donut-value-hi)}.single .donut-callout[data-hot] .donut-lead{stroke:var(--donut-line-hi);stroke-width:1.75}.single .donut-callout[data-hot] .donut-dot{fill:var(--donut-line-hi)}@media(prefers-reduced-motion:no-preference){.single .donut-seg{transition:opacity .18s ease,stroke-width .18s ease}.single .donut-callout{transition:opacity .18s ease}.single .donut-callout :is(.donut-label,.donut-value,.donut-lead,.donut-dot){transition:fill .18s ease,stroke .18s ease}}.single .donut-caption{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1));margin:calc(var(--donut-gap) + .25rem)0 0;font-size:.8125rem;font-style:italic;text-align:center}.single>:last-child{margin-bottom:0}@media(max-width:40rem){.single .title{padding-top:3.5rem}.single .project-embed{border-radius:.625rem}}@media(max-width:25rem){.single .project-embed[data-project-theme=notebooks]:not(.project-embed--reveal) iframe.embed-frame{height:47.5rem}}.site-footer,.site-footer *{box-sizing:border-box}.site-footer{margin:clamp(6rem,14vw,10rem)0 clamp(1.5rem,4vw,2rem);padding:0;background:0 0;color:#334155}.site-footer-base{display:grid;grid-template-columns:1fr auto;gap:1.75rem;align-items:center;padding-top:1.125rem;font-size:.75rem}.site-footer-base p{margin:0}.site-footer-nav{display:flex;align-items:center;justify-content:flex-start;gap:1.125rem;padding:0}.site-footer-copyright{text-align:right}.dark .site-footer{color:#a79fb8}@media(max-width:40rem){.site-footer{margin-top:6rem;padding:0}.site-footer-base{grid-template-columns:1fr;gap:.75rem}.site-footer-nav{flex-wrap:wrap}.site-footer-copyright{text-align:left}}body{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));width:100%;min-width:0;margin:0;overflow-x:clip}.site-shell{width:calc(100% - var(--site-gutter) - var(--site-gutter));max-width:var(--site-max-width);margin-inline:auto}.site-ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(180deg,#f2f0ff 0%,#f8f7ff 45%,#f5f5f5 100%);pointer-events:none}.site-shader{position:absolute;inset:0;width:100%;height:100%}.site-ambient::after{position:absolute;inset:0;content:"";opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:soft-light}.dark .site-ambient{background:linear-gradient(180deg,#161320 0%,#1a1626 48%,#110e1a 100%)}.dark .site-ambient::after{opacity:.15;mix-blend-mode:overlay}.site-content a:not(.project):not(.quote-card):not(:has(img,picture,video,canvas)){text-decoration-line:underline;margin-inline:-.2em;padding-inline:.2em;color:#241bc7;background-image:linear-gradient(#3429ff,#3429ff);background-position:0 100%;background-repeat:no-repeat;background-size:0% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 0 transparent;transition:color .22s ease,background-size .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s cubic-bezier(.2,.8,.2,1)}.site-content a:not(.project):not(.quote-card):not(:has(img,picture,video,canvas)):hover,.site-content a:not(.project):not(.quote-card):not(:has(img,picture,video,canvas)):focus-visible{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));text-decoration-line:none;background-size:100% 100%;box-shadow:.2em 0 #3429ff,-.2em 0 #3429ff}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.site-header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;padding-bottom:1.5rem}html:not(.top):not(.incognito) .site-header{background-color:rgba(245,245,245,.72);border-bottom-color:rgba(15,23,42,8%);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)saturate(180%)}html.incognito .site-header{position:static}nav svg{height:1.25rem;width:1.25rem}.social a,#theme-toggle{border-radius:.375rem;padding:.375rem;--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:300ms}.social a svg,.social a svg path{fill:currentColor;color:currentColor}.social a:hover,nav #theme-toggle:hover{--tw-bg-opacity:1;background-color:rgb(52 41 255/var(--tw-bg-opacity,1))}.social a:hover svg,.social a:hover svg path,nav #theme-toggle:hover svg{fill:#fff}.social{display:flex;align-items:center;gap:.75rem;font-size:.875rem;line-height:1.25rem}.social #theme-toggle{display:flex;align-items:center;justify-content:center;background-color:transparent;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:100ms}#logo{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1));text-decoration-line:none;font-family:inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.125rem,1.6vw,1.375rem);font-weight:700;line-height:1;letter-spacing:-.035em;transition:color .22s ease}#logo:hover{color:var(--primary)}#content.single{width:100%;max-width:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border-0{border-width:0}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.p-1{padding:.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.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)}.grayscale{--tw-grayscale:grayscale(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)}@media(max-width:64rem){.home-hero-inner{grid-template-columns:1fr;gap:4rem;padding:2rem 0}.home-hero-current{width:min(100%,23rem);max-width:23rem}}@media(max-width:40rem){intro.home-hero{margin-top:3rem;margin-bottom:7rem}.home-hero-inner{gap:3rem;min-height:0;padding:2rem 0}.home-hero h1{font-size:clamp(2.75rem,15vw,4.25rem)}.home-hero-line{white-space:normal}.home-hero-summary{font-size:1rem}.home-hero-current{width:min(100%,23rem);max-width:23rem;font-size:clamp(.5rem,calc(3.6vw - 3px),.75rem)}.home-hero-terminal-title{display:none}.home-hero-terminal-body{height:auto;max-height:none;padding:.875rem .75rem}.home-hero-terminal-suggestion{gap:.5rem}.home-hero-terminal-suggestion-description{display:none}}#cmd-palette-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;background:rgba(0,0,0,.2);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity 140ms ease,visibility 0s linear 140ms}#cmd-palette-overlay.open{opacity:1;visibility:visible;transition:opacity 140ms ease,visibility 0s linear 0s}#cmd-palette-overlay.open #cmd-palette{transform:scale(1)translateY(0)}#cmd-palette{width:calc(100% - 2rem);max-width:640px;background:#fff;background:color-mix(in srgb,#ffffff 88%,transparent);backdrop-filter:blur(24px);border:1px solid #e2e8f0;border-radius:14px;box-shadow:var(--shadow-ring),var(--shadow-md),var(--shadow-xl);overflow:hidden;transform:scale(.97)translateY(-6px);transition:transform 160ms cubic-bezier(.2,.8,.2,1);box-sizing:border-box}#cmd-palette-input{display:block;width:100%;padding:.95rem 1.125rem;font-family:inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#1e293b;caret-color:#3429ff;background:0 0;border:none;border-bottom:1px solid #f1f5f9;outline:none;box-sizing:border-box;-webkit-box-sizing:border-box}#cmd-palette-input::-moz-placeholder{color:#94a3b8}#cmd-palette-input::placeholder{color:#94a3b8}#cmd-palette-results{max-height:380px;overflow-y:auto;padding:.125rem 0 .5rem;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}#cmd-palette-results::-webkit-scrollbar{width:4px}#cmd-palette-results::-webkit-scrollbar-track{background:0 0}#cmd-palette-results::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.cmd-category-header{padding:.625rem 1.125rem .2rem;font-family:inter,ui-sans-serif,system-ui,sans-serif;font-size:.68rem;font-weight:600;color:#64748b;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cmd-item{display:flex;align-items:center;gap:.7rem;margin:0 .5rem;padding:.5rem .625rem;cursor:pointer;border-radius:9px;transition:background 60ms ease}.cmd-item.active{background:#ede9fe}.cmd-item-left{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0}.cmd-item-icon{width:24px;height:24px;border-radius:6px;flex-shrink:0;-o-object-fit:contain;object-fit:contain}.cmd-item-icobox{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;flex-shrink:0;background:#f8fafc;border:1px solid #f1f5f9;color:#475569;box-sizing:border-box}.cmd-item.active .cmd-item-icobox{color:#3429ff}.cmd-item-label{font-family:inter,ui-sans-serif,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:#334155;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-item.active .cmd-item-label{color:#3429ff}.cmd-item[data-id=clear-recents] .cmd-item-label{color:#94a3b8;font-weight:400}.cmd-item[data-id=clear-recents].active .cmd-item-label{color:#3429ff}.cmd-no-results{padding:1.5rem 1.25rem;font-family:inter,ui-sans-serif,system-ui,sans-serif;font-size:.875rem;color:#94a3b8;text-align:center}.cmd-palette-footer{display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;border-top:1px solid #f1f5f9;background:rgba(248,250,252,.55);font-family:inter,ui-sans-serif,system-ui,sans-serif;font-size:.75rem;color:#94a3b8;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cmd-footer-action{display:flex;align-items:center;gap:.4rem;color:#64748b;font-weight:500}.cmd-footer-action:first-of-type{margin-left:auto}.cmd-footer-sep{width:1px;height:14px;background:#e2e8f0}.cmd-palette-footer kbd{display:inline-flex;align-items:center;justify-content:center;padding:.1em .38em;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;font-family:inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;font-weight:500;color:#64748b;box-sizing:border-box;line-height:1.4}.dark #cmd-palette-overlay{background:rgba(0,0,0,.45)}.dark #cmd-palette{background:#201c28;background:color-mix(in srgb,#201c28 88%,transparent);border-color:#3a3444}.dark #cmd-palette-input{color:#e0d9ec;caret-color:#efa9ae;border-color:rgba(210,202,222,9%)}.dark #cmd-palette-input::-moz-placeholder{color:#6b6284}.dark #cmd-palette-input::placeholder{color:#6b6284}.dark #cmd-palette-results::-webkit-scrollbar-thumb{background:#3a3444}.dark #cmd-palette-results{scrollbar-color:#3a3444 transparent}.dark .cmd-category-header{color:#5c5276}.dark .cmd-item.active{background:rgba(239,169,174,.14)}.dark .cmd-item-icobox{background:#161221;border-color:rgba(210,202,222,9%);color:#a79fb8}.dark .cmd-item.active .cmd-item-icobox{color:#efa9ae}.dark .cmd-item-label{color:#cec6de}.dark .cmd-item.active .cmd-item-label{color:#efa9ae}.dark .cmd-item[data-id=clear-recents] .cmd-item-label{color:#5c5276}.dark .cmd-item[data-id=clear-recents].active .cmd-item-label{color:#efa9ae}.dark .cmd-no-results{color:#6b6284}.dark .cmd-palette-footer{border-color:rgba(210,202,222,9%);background:rgba(22,18,33,.55);color:#6b6284}.dark .cmd-footer-action{color:#a79fb8}.dark .cmd-footer-sep{background:#3a3444}.dark .cmd-palette-footer kbd{background:#161221;border-color:#3a3444;color:#6b6284}@media(max-width:40rem){#cmd-palette-overlay{padding-top:8vh;align-items:flex-start}#cmd-palette{border-radius:12px}}#arcade{--a-ink:#0f172a;--a-text:#475569;--a-dim:#94a3b8;--a-faint:#cbd5e1;--a-line:rgba(15, 23, 42, .12);--a-panel:#ffffff;--a-raise:#f1f5f9;--a-hot:#3429ff;--a-on-hot:#ffffff;--a-good:#16a34a;--a-warn:#d97706;--a-bad:#e11d48;--a-veil:linear-gradient(180deg, #f2f0ff 0%, #f8f7ff 45%, #f5f5f5 100%);--a-scan:rgba(15, 23, 42, .028);--a-scan-blend:multiply;--a-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--a-sans:"Inter", ui-sans-serif, system-ui, sans-serif;position:fixed;inset:0;z-index:9500;font-family:var(--a-mono);color:var(--a-text);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}html.dark #arcade{--a-ink:#f5f0fa;--a-text:#cec6de;--a-dim:#7e7599;--a-faint:#453c5c;--a-line:rgba(210, 202, 222, .15);--a-panel:#161221;--a-raise:#221c32;--a-hot:#efa9ae;--a-on-hot:#110e1a;--a-good:#95d5a5;--a-warn:#f6c177;--a-bad:#eb6f92;--a-veil:linear-gradient(180deg, #161320 0%, #1a1626 48%, #110e1a 100%);--a-scan:rgba(255, 255, 255, .035);--a-scan-blend:overlay}#arcade[hidden]{display:none}.a-scrim{position:absolute;inset:0;overflow:hidden;background:var(--a-veil);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .28s ease}.a-scrim::after{content:"";position:absolute;inset:0;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:soft-light}html.dark .a-scrim::after{opacity:.15;mix-blend-mode:overlay}#arcade.show-scrim .a-scrim{opacity:.985}#arcade.dim-scrim .a-scrim{opacity:.82}.a-stage-wrap{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .2s ease}#arcade.show-stage .a-stage-wrap{opacity:1}#a-canvas{display:block;width:100%;height:100%}.a-scan{position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(180deg,var(--a-scan) 0 1px,transparent 1px 3px);transition:opacity .3s ease;mix-blend-mode:var(--a-scan-blend)}#arcade.show-stage .a-scan{opacity:1}@media(prefers-reduced-motion:reduce){.a-scan{display:none}}.a-hud{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;padding:max(1rem,env(safe-area-inset-top))1rem 1rem;opacity:0;transition:opacity .25s ease;pointer-events:none}#arcade.show-hud .a-hud{opacity:1}.a-hud-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:1rem}.a-hud-top .a-title{grid-column:1;justify-self:start}.a-hud-top .a-stat{grid-column:2;justify-self:center}.a-hud-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.a-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border:1px solid var(--a-line);border-radius:.5rem;background:var(--a-panel);background:color-mix(in srgb,var(--a-panel) 72%,transparent);backdrop-filter:blur(18px)saturate(1.5);-webkit-backdrop-filter:blur(18px)saturate(1.5);box-shadow:var(--shadow-sm);color:var(--a-text);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase}.a-title{font-weight:700;color:var(--a-ink);letter-spacing:.1em}.a-stat b,.a-hint kbd{color:var(--a-ink)}.a-title b{color:var(--a-hot)}.a-pips{display:inline-flex;gap:.3rem}.a-pips i{width:.5rem;height:.5rem;border-radius:50%;background:0 0;box-shadow:inset 0 0 0 1.5px var(--a-dim);transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.a-pips i.on,.a-pips i.done{background:var(--a-hot);box-shadow:none}.a-pips i.on{transform:scale(1.25)}.a-stat{color:var(--a-dim);padding:.5rem 1.1rem;font-size:.8125rem;letter-spacing:.12em}.a-stat b{color:var(--a-ink);font-size:1.0625rem;font-variant-numeric:tabular-nums}.a-gauges{display:flex;align-items:center;gap:1.1rem}.a-gauge{display:flex;flex-direction:column;gap:.3rem}.a-gauge-line{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.a-gauge-lab{font-size:.5625rem;letter-spacing:.14em;color:var(--a-dim)}.a-gauge b{font-size:.9375rem;line-height:1}.a-bar{position:relative;width:6rem;height:.3rem;border-radius:999px;background:var(--a-faint);overflow:hidden}.a-bar>i{position:absolute;inset:0 auto 0 0;border-radius:inherit;transition:width .12s linear}.a-gauge.is-low b{animation:a-blip 1.05s ease-in-out infinite}@keyframes a-blip{0%,100%{opacity:1}50%{opacity:.4}}.a-hint{color:var(--a-dim);font-size:.6875rem;letter-spacing:.04em;text-transform:none}.a-hint kbd{display:inline-block;padding:0 .3rem;border:1px solid var(--a-line);border-radius:.25rem;color:var(--a-ink);font:inherit}.a-esc{pointer-events:auto!important;cursor:pointer}.a-esc:hover{border-color:var(--a-hot);color:var(--a-hot)}.a-meter{position:relative;width:7rem;height:.375rem;border-radius:999px;background:var(--a-faint);overflow:hidden}.a-meter span{position:absolute;inset:0 auto 0 0;background:var(--a-good);transition:width .12s linear,background-color .2s ease}.a-meter.low span{background:var(--a-bad)}.a-banner-wrap{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.a-banner{min-width:min(30rem,88vw);max-width:min(38rem,92vw);padding:1.75rem 2rem;text-align:center;border:1px solid var(--a-line);border-radius:1rem;background:var(--a-panel);background:color-mix(in srgb,var(--a-panel) 88%,transparent);backdrop-filter:blur(18px)saturate(1.5);-webkit-backdrop-filter:blur(18px)saturate(1.5);box-shadow:var(--shadow-xl);opacity:0;transform:translateY(14px)scale(.97);transition:opacity .25s ease,transform .25s cubic-bezier(.2,.9,.25,1)}.a-banner.is-open{opacity:1;transform:none}.a-banner-kicker{color:var(--a-hot);font-size:.6875rem;letter-spacing:.28em;text-transform:uppercase}.a-banner h2{margin:.6rem 0 0;color:var(--a-hot);font-family:var(--a-sans);font-weight:700;font-size:clamp(1.75rem,5vw,2.75rem);letter-spacing:-.05em;line-height:1}.a-banner p{margin:.75rem 0 0;color:var(--a-dim);font-size:.8125rem;line-height:1.6}.a-banner .a-actions{margin-top:1.25rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.a-btn{pointer-events:auto;cursor:pointer;padding:.55rem 1rem;border:1px solid var(--a-line);border-radius:.5rem;background:0 0;color:var(--a-ink);font:inherit;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.a-btn:hover,.a-btn:focus-visible{border-color:var(--a-hot);color:var(--a-hot);transform:translateY(-1px);box-shadow:var(--shadow-md);outline:none}.a-btn.primary{background:var(--a-hot);border-color:var(--a-hot);color:var(--a-on-hot);font-weight:700}.a-btn.primary:hover{color:var(--a-on-hot);filter:brightness(1.08)}.a-score-line{margin-top:1rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;font-size:.75rem}.a-score-line div{color:var(--a-dim)}.a-score-line b{display:block;margin-top:.2rem;color:var(--a-ink);font-size:1.25rem;font-variant-numeric:tabular-nums}.a-touch{position:absolute;inset:auto 0 0 0;height:42%;display:none;pointer-events:none}#arcade.show-touch .a-touch{display:block}.a-pad{position:absolute;bottom:max(1.75rem,env(safe-area-inset-bottom));left:1.25rem;width:8.5rem;height:8.5rem;border-radius:50%;border:1px solid var(--a-line);background:color-mix(in srgb,var(--a-panel) 45%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto;touch-action:none}.a-pad i{position:absolute;top:50%;left:50%;width:3.25rem;height:3.25rem;margin:-1.625rem 0 0 -1.625rem;border-radius:50%;background:var(--a-faint);border:1px solid var(--a-line);box-shadow:var(--shadow-sm);transition:transform .05s linear}.a-keys{position:absolute;bottom:max(1.75rem,env(safe-area-inset-bottom));right:1.25rem;display:grid;gap:.625rem;justify-items:end}.a-key{pointer-events:auto;touch-action:none;cursor:pointer;width:4.25rem;height:4.25rem;border-radius:50%;border:1px solid var(--a-line);background:color-mix(in srgb,var(--a-panel) 62%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-md);color:var(--a-ink);font:inherit;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}.a-key.wide{width:auto;min-width:5.5rem;height:3rem;border-radius:999px;padding-inline:1rem}.a-key:active,.a-key.is-down{background:var(--a-hot);color:var(--a-on-hot)}.a-toast-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.a-toast{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-mono);font-weight:700;font-size:.8125rem;text-shadow:0 1px 10px var(--a-veil-shadow,rgba(0,0,0,.35));white-space:nowrap}@media(max-width:40rem){.a-hud-top{grid-template-columns:1fr;justify-items:center}.a-hud-top .a-title{grid-column:1;justify-self:start}.a-hud-top .a-stat{grid-column:1}.a-hud-bottom .a-hint{display:none}#arcade.show-touch .a-hud-bottom .a-hint{display:inline-flex;position:absolute;left:50%;bottom:calc(42% + .75rem);transform:translateX(-50%);max-width:calc(100% - 2rem);text-align:center}}body.is-game-open{position:fixed;inset-inline:0;top:var(--game-scroll-top,0);width:100%;padding-right:var(--game-gutter,0)}.a-hud-right{display:flex;align-items:flex-end;gap:.5rem}#a-mute{min-width:5.5rem;justify-content:center}#arcade.show-touch .a-hud-right{position:absolute;top:max(1rem,env(safe-area-inset-top));right:1rem}@media(max-width:40rem){.a-stat{padding:.4rem .75rem;font-size:.6875rem;letter-spacing:.08em}.a-stat b{font-size:.875rem}.a-gauges{gap:.8rem}.a-bar{width:4.5rem}#a-mute{min-width:0}}@media(prefers-reduced-motion:reduce){.a-scrim,.a-banner,.a-btn,.a-card,.a-pad i,.a-pips i,.a-hud,.a-stage-wrap{transition:none}.a-banner{transform:none}.a-gauge.is-low b{animation:none}.site-content a:not(.project):not(:has(img,picture,video,canvas)),.site-header{transition:none}}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}