﻿@import url("giallo-light.css") layer(code-light);@import url("giallo-dark.css") layer(code-dark);@media (max-width: 760px){body.has-site-search:not(:has(.site-search)){--header-height: 4rem;--sticky-offset: calc(var(--announcement-height) + var(--header-height) + 1rem)}}@media (max-width: 768px){.content table{width:max-content;max-width:100%}}@property --post-prose{syntax:"<length>";inherits:true;initial-value:0px}@property --post-wide{syntax:"<length>";inherits:true;initial-value:0px}.site-main-article{--post-prose: 80ch;--post-wide: 110ch;--post-nav: 15rem;--post-aside: 15rem;--post-gap: 3rem;width:min(100% - var(--layout-gutter),90rem);scroll-margin-top:var(--sticky-offset)}.post-shell{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--space-6) var(--post-gap)}.post-main{min-width:0}.post-article.content{container-type:inline-size;max-width:none;font-size:1rem;line-height:1.7}.post-article.content>*{max-width:min(100%,var(--post-prose))}.post-article.content .breadcrumbs{margin-bottom:var(--space-8)}.post-article.content h1{font-size:2.25rem}.post-article.content h2{margin:3rem 0 var(--space-4);font-size:1.5rem}.post-article.content h3{margin:2rem 0 var(--space-3);font-size:1.2rem}.post-article.content h4{margin:var(--space-6) 0 var(--space-2);font-size:1rem;font-weight:700}@media (hover: none){.post-article.content :is(h2,h3,h4) .zola-anchor{opacity:1}}.post-article.content>p>img:only-child,.post-article.content>img{display:block;margin:var(--space-3) auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}.post-article.content>img{margin-block:var(--space-6)}.post-article.content figure img{box-sizing:content-box;width:revert-layer;max-width:calc(100% - 2px);margin-inline:auto}.post-article.content figure figcaption{text-align:center}.post-article.content>table{display:block;width:max-content;overflow-x:auto}.post-article.content>table th,.post-article.content>table td{min-width:12ch}.post-article.content .footnotes{margin-top:var(--space-12);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:.875rem;line-height:1.6}.post-article.content .footnotes ol{margin:0;padding-inline-start:var(--space-6)}.post-article.content .footnotes li p{margin-bottom:var(--space-2)}.post-article.content .footnote-reference{font-size:.75em;line-height:0}.post-article.content :is(.footnote-reference,.footnotes li){scroll-margin-top:var(--sticky-offset)}.series-part{margin:0 0 var(--space-8);color:var(--color-muted);font-size:var(--text-sm)}.series-part a{color:var(--color-accent)}.blog-article-header:has(+.series-part){margin-bottom:var(--space-3)}.series-parts{padding:0;list-style:none}.series-parts .series-part{margin:0;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.post-aside{display:none}.post-toc-inline{scroll-margin-top:var(--sticky-offset);margin:0 0 var(--space-8);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.post-toc-inline summary{color:var(--color-fg);font-weight:700;cursor:pointer}.post-toc-inline[open] summary{margin-bottom:var(--space-3)}.side-title{margin:0 0 var(--space-3);color:var(--color-fg);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.side-nav{font-size:.875rem;line-height:1.4}.side-nav :is(ul,ol){display:grid;gap:.15rem;margin:0;padding:0;list-style:none}.side-nav :is(ul,ol) :is(ul,ol){margin-top:.15rem;padding-inline-start:var(--space-3)}.side-nav :is(ul,ol) :is(ul,ol) a{font-size:.8125rem}.side-nav a{display:block;padding:.25rem var(--space-2);border-inline-start:2px solid rgba(0,0,0,0);color:var(--color-muted);overflow-wrap:anywhere}.side-nav a:hover,.side-nav a:focus-visible{color:var(--color-fg);text-decoration:none}.side-nav a:focus-visible{outline:var(--focus-ring);outline-offset:2px}.side-nav a.is-active,.side-nav a[aria-current=page]{border-inline-start-color:var(--color-accent);color:var(--color-accent);font-weight:700}.blog-nav-label{display:block;padding:.25rem var(--space-2) .25rem calc(var(--space-2) + 2px);color:var(--color-fg)}.blog-nav{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.tag-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-8) 0 0;padding:0;list-style:none}.tag-chips a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-fg);font-size:var(--text-sm);overflow-wrap:anywhere}.tag-chips a:hover,.tag-chips a:focus-visible{border-color:var(--color-accent);text-decoration:none}.tag-chips a:focus-visible{outline:var(--focus-ring);outline-offset:2px}.tag-chip-count{color:var(--color-muted);font-size:var(--text-xs)}.archive-year{margin-top:var(--space-12)}.archive-year h2{margin:0;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-xl)}.archive-list{margin:0;padding:0;list-style:none}.archive-list li{display:grid;grid-template-columns:10ch minmax(0, 1fr);gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.archive-list time{color:var(--color-muted)}.archive-list a{color:var(--color-fg);overflow-wrap:anywhere}.archive-list a:hover,.archive-list a:focus-visible{color:var(--color-accent);text-decoration:none}.archive-list a:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.archive-empty{margin-top:var(--space-12);color:var(--color-muted)}.post-toc-jump,.back-to-top-button{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-fg);box-shadow:var(--shadow-sm)}.post-toc-jump:focus-visible,.back-to-top-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.post-toc-jump{position:fixed;z-index:5;inset-block-end:var(--space-4);inset-inline-end:var(--space-4);display:inline-flex;align-items:center;min-height:2.25rem;padding:0 var(--space-4);font-size:var(--text-sm)}.post-toc-jump:hover{text-decoration:none}.back-to-top-float{display:flex;justify-content:center;margin-top:var(--space-10)}.back-to-top-button{display:grid;place-items:center;width:2.25rem;height:2.25rem}.back-to-top-button svg{width:1.125rem;height:1.125rem}.back-to-top-button:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}@keyframes post-link-reveal{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}@keyframes post-link-hide{to{opacity:0;visibility:hidden}}@supports (animation-timeline: scroll()){.back-to-top-aside .back-to-top-button{animation:post-link-reveal linear both;animation-timeline:scroll(root);animation-range:min(40vh,25%) min(60vh,50%)}.post-toc-jump{animation:post-link-reveal linear both,post-link-hide linear forwards;animation-timeline:scroll(root),scroll(root);animation-range:min(40vh,25%) min(60vh,50%),calc(100% - 12rem) calc(100% - 10rem)}@media (prefers-reduced-motion: reduce){.post-toc-jump,.back-to-top-aside .back-to-top-button{animation-timing-function:steps(1, jump-start)}}}@media (min-width: 1200px){.post-article.content>:is(pre,.code-block,table,figure,img){max-width:min(100%,var(--post-wide))}.post-article.content>p>img:only-child{max-width:min(100cqi,var(--post-wide))}.post-shell{grid-template-columns:var(--post-nav) minmax(0, 1fr)}.post-main{grid-column:2;grid-row:1}.blog-nav{grid-column:1;grid-row:1;margin:0;padding:0;border:0}.post-shell-no-toc .blog-nav{position:sticky;top:var(--sticky-offset);align-self:start;max-height:calc(100vh - var(--sticky-offset) - var(--space-4));overflow-y:auto}.post-shell:not(.post-shell-no-toc){grid-template-rows:auto 1fr}.post-shell:not(.post-shell-no-toc) .post-main{grid-row:1/span 2}.post-aside{position:sticky;top:var(--sticky-offset);align-self:start;max-height:calc(100vh - var(--sticky-offset) - var(--space-4));overflow-y:auto;grid-column:1;grid-row:2;display:flex;flex-direction:column;overflow:hidden;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.post-toc{min-height:0;overflow-y:auto}.back-to-top-aside{padding-top:var(--space-4)}.post-toc-inline,.back-to-top-float,.post-toc-jump{display:none}}@media (min-width: 1392px){.post-shell:not(.post-shell-no-toc){grid-template-columns:var(--post-nav) minmax(0, 1fr) var(--post-aside);grid-template-rows:auto}.post-shell:not(.post-shell-no-toc) .post-main{grid-row:1}.post-shell:not(.post-shell-no-toc) .blog-nav{position:sticky;top:var(--sticky-offset);align-self:start;max-height:calc(100vh - var(--sticky-offset) - var(--space-4));overflow-y:auto}.post-aside{grid-column:3;grid-row:1;padding:0 0 0 var(--space-4);border-top:0;border-inline-start:1px solid var(--color-border)}}@media print{.blog-nav,.post-aside,.post-toc-inline,.back-to-top-float,.post-toc-jump{display:none}}@layer code-dark{.z-d-3{color:#838c96}:root[data-theme=light] [class*=z-d-]{all:revert-layer}@media not all and (prefers-color-scheme: dark){:root:not([data-theme]) [class*=z-d-]{all:revert-layer}}}@layer code-light{.z-l-3{color:#1d7232}.z-l-5{color:#5c646d}.z-l-8{color:#bd2635}.z-l-9{color:#a54707}:root[data-theme=dark] [class*=z-l-]{all:revert-layer}@media (prefers-color-scheme: dark){:root:not([data-theme]) [class*=z-l-]{all:revert-layer}}}body{--color-pre-bg: light-dark( color-mix(in srgb, var(--color-bg) 40%, white), color-mix(in srgb, var(--color-bg) 70%, black) );--color-pre-fg: var(--color-fg);--color-code-bg: color-mix(in srgb, var(--color-fg) 9%, var(--color-bg));--color-code-fg: var(--color-fg)}.content pre,.content .code-block{border-color:var(--color-border)}.content pre{box-shadow:0 1px 2px rgba(0,0,0,.06)}.content .code-block{box-shadow:0 .5rem 1.5rem rgba(0,0,0,.1)}.content pre{--code-gutter: calc(3ch + 1.5rem + 1px);padding:.75rem 0;font-size:.875rem;line-height:1.6}.content pre.giallo code{width:max-content;min-width:100%;counter-reset:code-line}.content .giallo-l{--hang: 0px;--line-start: 1rem;position:relative;margin:0;padding-block:0;padding-inline:calc(var(--line-start) + var(--hang)) 1rem;counter-increment:code-line;text-indent:calc(-1*var(--hang))}.content code:not(:has(.giallo-ln))>.giallo-l:not(:only-child),.content code:has(.giallo-ln)>.giallo-l{--line-start: calc(var(--code-gutter) + 1rem)}.content code:not(:has(.giallo-ln))>.giallo-l:not(:only-child)::before{content:counter(code-line);content:counter(code-line)/""}.content code:not(:has(.giallo-ln))>.giallo-l:not(:only-child)::before,.content .giallo-ln{position:absolute;inset:0 auto 0 0;box-sizing:border-box;width:var(--code-gutter);min-width:0;margin:0;padding:0 .75rem;border-inline-end:1px solid var(--color-border);color:var(--color-muted) !important;text-align:end;text-indent:0;user-select:none}.content .giallo-l:is(.z-l-hl,.z-d-hl){background:color-mix(in srgb, var(--color-accent) 14%, rgba(0,0,0,0));box-shadow:inset .1875rem 0 var(--color-accent)}.content pre.is-wrapped{container-type:inline-size}.content pre.is-wrapped code{width:auto;min-width:0}.content pre.is-wrapped .giallo-l{--hang: min(var(--code-indent, 0ch) + 4ch, 50cqi);overflow-wrap:anywhere;white-space:pre-wrap}.content .code-block-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;box-sizing:border-box;height:2rem;min-height:2rem;gap:0;padding:0 .5rem 0 .75rem;border-bottom-color:var(--color-border);background:var(--color-surface)}.content .code-block-header::before{width:46px;height:10px;background:radial-gradient(circle closest-side, color-mix(in srgb, var(--color-muted) 55%, var(--color-surface)) calc(100% - 1px), rgba(0,0,0,0)) 0 50%/10px 10px no-repeat,radial-gradient(circle closest-side, color-mix(in srgb, var(--color-muted) 55%, var(--color-surface)) calc(100% - 1px), rgba(0,0,0,0)) 18px 50%/10px 10px no-repeat,radial-gradient(circle closest-side, color-mix(in srgb, var(--color-muted) 55%, var(--color-surface)) calc(100% - 1px), rgba(0,0,0,0)) 36px 50%/10px 10px no-repeat;content:""}.content .code-block-meta{grid-column:2;grid-row:1;justify-self:center;max-width:100%;gap:var(--space-3)}.content .code-block-language,.content .code-block-meta.is-titled .code-block-language{gap:var(--space-2);padding:0;border:0;background:none;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.content .code-block-language::before,.content .code-block-meta.is-titled .code-block-language::before{display:inline;width:auto;height:auto;border-radius:0;background:none;box-shadow:none;content:"";content:"</>"/"";letter-spacing:0}.content .code-copy-button{grid-column:3;grid-row:1;justify-self:end;width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem;border-color:rgba(0,0,0,0);background:rgba(0,0,0,0)}.content .code-copy-button:focus-visible{outline-offset:-2px}.content .code-wrap-button:has(~.code-copy-button){margin-inline-end:calc(1.75rem + 0.125rem)}.content .code-copy-icon{width:1rem;height:1rem;background:currentColor;mask:url("img/icons/clipboard.svg") center/contain no-repeat}.content .code-copy-icon::before,.content .code-copy-icon::after{display:none}.content .code-copy-button[data-copy-state=success] .code-copy-icon{mask-image:url("img/icons/check.svg")}.content .code-copy-button[data-copy-state=error] .code-copy-icon{background:none;mask:none}.content .code-copy-button[data-copy-state=error] .code-copy-icon::before{display:block}.content .code-wrap-icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.content .code-wrap-button[aria-pressed=true]{border-color:color-mix(in srgb, var(--color-accent) 60%, rgba(0,0,0,0));background:color-mix(in srgb, var(--color-accent) 18%, rgba(0,0,0,0));color:var(--color-pre-fg)}@media (max-width: 760px){.content>:is(pre,.code-block){max-width:none;margin-inline:calc(var(--layout-gutter)/-2);border-inline:0;border-radius:0}}@property --header-shrink{syntax:"<number>";inherits:true;initial-value:0}@supports (animation-timeline: scroll()){:root{animation:header-shrink linear both;animation-timeline:scroll(root);animation-range:0 80px}@media (prefers-reduced-motion: reduce){:root{animation-timing-function:steps(1, jump-end)}}}@keyframes header-shrink{to{--header-shrink: 1}}@media (min-width: 761px){:root{--header-height: calc(4rem - 1rem * var(--header-shrink));--sticky-offset: calc(var(--announcement-height) + 4rem - 1rem + 1rem)}.site-header{margin-bottom:calc(1rem * var(--header-shrink))}}@media (max-width: 760px){.site-header{transition:transform .2s ease}.site-header.is-hidden:not(:focus-within){transform:translateY(-100%)}}@media (max-width: 760px) and (prefers-reduced-motion: reduce){.site-header{transition:none}}.work-group{margin-top:var(--space-12)}.work-group h2{margin:0 0 var(--space-4);color:var(--color-muted);font-size:var(--text-sm);letter-spacing:var(--tracking-label);text-transform:uppercase}.work-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--space-6);margin:0;padding:0;list-style:none}.work-grid>li{min-width:0}.work-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.work-preview{container-type:inline-size;display:block;min-width:0;color:inherit;text-decoration:none}.work-preview:hover{text-decoration:none}.work-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;padding:var(--space-6);overflow-wrap:anywhere}.work-card-body h3{margin:var(--space-2) 0 0;font-size:var(--text-xl)}.work-card-body :where(p){margin:0}.work-card :is(h3,h4){font-weight:800;letter-spacing:var(--tracking-heading)}.work-card :is(h3,h4) a{color:var(--color-fg);text-decoration:none}.work-card :is(h3,h4) a:hover{color:var(--color-accent)}.work-card :is(h3,h4) a:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}.work-card h3 .work-repo-link{display:inline-flex;align-items:center;gap:var(--space-3)}.work-repo-icon{flex:none}.work-repo-icon img{display:block;width:1.75rem;height:1.75rem;border-radius:var(--radius-sm)}.work-eyebrow{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.work-description{margin-top:var(--space-3);line-height:var(--leading-snug)}.work-links{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.work-langs{--lang-gap: var(--color-surface);align-self:stretch;margin-top:var(--space-4)}.work-lang-bar{display:block;width:100%;height:.625rem;overflow:hidden;border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--color-border-hover)}.work-lang-bar rect{stroke:var(--lang-gap);stroke-width:2px;vector-effect:non-scaling-stroke}.work-lang-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:var(--space-3) 0 0;padding:0;font-size:var(--text-xs);list-style:none}.work-lang-legend li{display:inline-flex;align-items:center;gap:var(--space-1)}.work-lang-dot{flex:none;width:.625rem;height:.625rem;border-radius:50%;box-shadow:0 0 0 1px var(--color-border-hover)}.work-lang-name{color:var(--color-fg);font-weight:700}.work-lang-percent{color:var(--color-muted)}.work-links{gap:var(--space-1) var(--space-5);margin-top:var(--space-4)}.work-links a,.work-theme-source{color:var(--color-accent);font-weight:700;text-underline-offset:.25em}.work-links a::after,.work-theme-source::after{content:" ↗"/""}.work-links a:hover,.work-theme-source:hover{color:var(--color-accent-hover);text-decoration:underline}.work-links a:focus-visible,.work-theme-source:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}.work-frame{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.work-frame-bar{display:flex;align-items:center;height:1.75rem;padding:0 var(--space-3);background:var(--color-surface-hover)}.work-frame-bar::before,.work-frame-bar::after{content:"";flex:none;width:.625rem;height:.625rem;margin-inline-end:2rem}.work-frame-bar::before{border-radius:50%;background:var(--color-border-hover);box-shadow:1rem 0 0 var(--color-border-hover),2rem 0 0 var(--color-border-hover)}.work-frame-address{flex:0 1 auto;min-width:0;margin-inline:auto;padding:0 var(--space-3);overflow:hidden;border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-muted);font-size:var(--text-xs);line-height:1.125rem;text-overflow:ellipsis;white-space:nowrap}.work-frame-screen{position:relative;aspect-ratio:16/10;overflow:hidden}.work-frame-screen picture,.work-frame-screen video{position:absolute;inset:0}.work-frame-screen img,.work-frame-screen video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}:is(.work-frame-screen,.work-phone-screen,.showcase-bare) .work-shot-dark{display:none}:root[data-theme=dark] :is(.work-frame-screen,.work-phone-screen,.showcase-bare) .work-shot-light{display:none}:root[data-theme=dark] :is(.work-frame-screen,.work-phone-screen,.showcase-bare) .work-shot-dark{display:block}@media (prefers-color-scheme: dark){:root:not([data-theme]) :is(.work-frame-screen,.work-phone-screen,.showcase-bare) .work-shot-light{display:none}:root:not([data-theme]) :is(.work-frame-screen,.work-phone-screen,.showcase-bare) .work-shot-dark{display:block}}.work-card-half .work-frame{border-width:0 0 1px;border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}.work-card-feature{padding:var(--space-4)}.work-card-feature .work-card-body{padding:var(--space-4) var(--space-2) var(--space-2)}.work-frame-chat{aspect-ratio:750/926}.work-card-shot{padding:var(--space-4)}.work-card-shot .work-preview{display:grid;place-items:center;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);background-image:radial-gradient(circle, var(--color-border) 1px, rgba(0,0,0,0) 1.5px);background-size:18px 18px}.work-card-shot .work-frame{width:100%;max-width:27rem;box-shadow:var(--shadow-md)}.work-card-shot .work-card-body{padding:var(--space-4) var(--space-2) var(--space-2)}.work-pairs{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:16/9;margin:0;padding:4cqw 3cqw;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);background-image:radial-gradient(circle, var(--color-border) 1px, rgba(0,0,0,0) 1.5px);background-size:18px 18px}.work-pairs-keys{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;align-self:stretch;gap:2.5cqw;font-size:max(.8125rem,3.8cqw)}.work-pairs-keys>:first-child{justify-self:end}.work-pairs-keys>:last-child{justify-self:start}.work-pairs-plus{color:var(--color-muted)}.work-key{min-width:3.2em;padding:0 .9em;border:1px solid var(--color-border-hover);border-bottom-width:.25em;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-fg);font:inherit;font-weight:700;line-height:2.1;text-align:center}.work-key-number{--reel-height: 2.1em;min-width:2.6em;padding:0;color:var(--color-accent)}.work-pairs-link{position:relative;width:63cqw;height:5cqw;margin-top:3.5cqw;border:max(2px,.4cqw) solid currentColor;border-bottom:0;color:var(--color-border-hover)}.work-pairs-link::before,.work-pairs-link::after{content:"";position:absolute;left:50%;width:max(2px,.4cqw);background:currentColor;transform:translateX(-50%)}.work-pairs-link::before{bottom:100%;height:3.5cqw}.work-pairs-link::after{top:0;height:100%}.work-pairs-monitors{display:flex;align-items:flex-start;justify-content:center;gap:4.5cqw;width:100%}.work-monitor{display:flex;flex-direction:column;align-items:center;width:27cqw}.work-monitor::before{content:"";order:1;width:3cqw;height:2cqw;background:var(--color-border-hover)}.work-monitor::after{content:"";order:2;width:11cqw;height:max(3px,.9cqw);border-radius:var(--radius-pill);background:var(--color-border-hover)}.work-screen{--bezel: max(3px, 0.9cqw);box-sizing:content-box;position:relative;width:calc(100% - 2*var(--bezel));aspect-ratio:16/10;overflow:hidden;border:var(--bezel) solid var(--color-border-hover);border-radius:max(5px,1.6cqw);background:var(--color-surface)}.work-screen picture,.work-screen img{display:block}.work-screen picture{position:absolute;inset:0}.work-screen img{width:100%;height:100%;object-fit:cover}.work-screen .work-pair-1,.work-screen .work-pair-2{display:none}.work-monitor-label{order:3;margin-top:2cqw;color:var(--color-muted);font-size:max(.6875rem,2.3cqw)}.work-window{display:block;height:var(--reel-height);overflow:hidden}.work-reel{display:block;transform:translateY(-50%)}.work-reel>span{display:block;height:var(--reel-height);line-height:var(--reel-height);text-align:center}.work-theme{display:flex;gap:var(--space-4);align-items:center;margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.work-theme picture{flex:none}.work-theme img{display:block;width:10rem;height:auto;aspect-ratio:16/10;border-radius:var(--radius-sm)}.work-theme h4{margin:0;font-size:var(--text-base)}.work-theme p{margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.work-theme-text{min-width:0}.work-theme-source{display:inline-block;margin-top:var(--space-2);font-size:var(--text-sm)}@media (max-width: 30rem){.work-card-body{padding:var(--space-4)}.work-theme{flex-direction:column;align-items:stretch}.work-theme img{width:100%}}@media (min-width: 640px){.work-card-shot{display:grid;grid-template-columns:minmax(0, 3fr) minmax(0, 2fr);column-gap:var(--space-8);align-items:center;padding:var(--space-6)}.work-card-shot .work-preview{padding:var(--space-6)}.work-card-shot .work-card-body{padding:var(--space-2) 0}}@media (min-width: 900px){.work-grid{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}.work-card-shot{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}:is(.work-cell-feature,.work-cell-shot){grid-column:1/-1}.work-card-feature{display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);column-gap:var(--space-8);padding:var(--space-6)}.work-card-feature .work-card-body{grid-column:1;grid-row:1;padding:var(--space-2) 0}.work-card-feature .work-preview,.work-card-feature .work-diff{grid-column:2;grid-row:1;align-self:center}.work-card-feature .work-theme{grid-column:1/-1;margin-top:var(--space-6)}}.work-diff{min-width:0;margin:0 0 var(--space-2)}.work-diff figcaption{margin-top:var(--space-2);color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere}.work-diff-panel{--diff-hairline: color-mix(in srgb, var(--color-pre-fg) 14%, var(--color-pre-bg));overflow:hidden;border:1px solid var(--diff-hairline);border-radius:var(--radius-md);background:var(--color-pre-bg);color:var(--color-pre-fg)}.work-diff-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:1.75rem;padding:0 var(--space-3);border-bottom:1px solid var(--diff-hairline);background:color-mix(in srgb, var(--color-pre-fg) 5%, var(--color-pre-bg));font-size:var(--text-xs)}.work-diff-bar::before{width:46px;height:10px;background:radial-gradient(circle closest-side, color-mix(in srgb, var(--color-muted) 55%, var(--color-surface)) calc(100% - 1px), rgba(0,0,0,0)) 0 50%/10px 10px no-repeat,radial-gradient(circle closest-side, color-mix(in srgb, var(--color-muted) 55%, var(--color-surface)) calc(100% - 1px), rgba(0,0,0,0)) 18px 50%/10px 10px no-repeat,radial-gradient(circle closest-side, color-mix(in srgb, var(--color-muted) 55%, var(--color-surface)) calc(100% - 1px), rgba(0,0,0,0)) 36px 50%/10px 10px no-repeat;content:""}.work-diff-file{grid-column:2;overflow:hidden;color:color-mix(in srgb, var(--color-pre-fg) 78%, rgba(0,0,0,0));text-overflow:ellipsis;white-space:nowrap}.work-diff-pr{grid-column:3;justify-self:end;color:var(--color-accent);font-weight:700;text-decoration:none}.work-diff-pr:hover{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:.25em}.work-diff-pr:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.work-diff-view{position:relative}.work-diff-view::after{content:"";position:absolute;inset:0 0 0 auto;width:2.5rem;background:linear-gradient(to right, rgba(0,0,0,0), var(--color-pre-bg));pointer-events:none}.work-diff-screen{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:color-mix(in srgb, var(--color-pre-fg) 28%, rgba(0,0,0,0)) rgba(0,0,0,0);scrollbar-width:thin}.work-diff-screen:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.work-diff-screen pre{margin:0;padding:var(--space-3) 0;background:none;color:inherit;font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;tab-size:4}.work-diff-screen code{display:block;width:max-content;min-width:100%;font:inherit;white-space:normal}.work-diff-screen .giallo-l{display:flex;min-height:1lh;white-space:pre}.work-diff-screen .giallo-l>span{flex:none}.work-diff-screen .giallo-l>:first-child{padding-inline-start:var(--space-4)}.work-diff-screen .giallo-l>:last-child{flex:1 0 auto;padding-inline-end:2.5rem}.work-diff-screen :is(.z-l-bg3,.z-d-bg1){background-color:color-mix(in srgb, var(--color-add) 16%, var(--color-pre-bg));color:var(--color-add)}.work-diff-screen :is(.z-l-bg5,.z-d-bg3){background-color:color-mix(in srgb, var(--color-del) 16%, var(--color-pre-bg));color:var(--color-del)}.work-diff-screen :is(.z-l-6,.z-d-7){color:color-mix(in srgb, var(--color-pre-fg) 70%, var(--color-pre-bg));font-weight:400}.work-stats{display:grid;grid-template-columns:repeat(3, auto);justify-content:start;gap:var(--space-3) var(--space-5);margin:var(--space-6) 0 0}.work-stats>div{display:flex;flex-direction:column-reverse;gap:var(--space-1)}.work-stats dt{color:var(--color-muted);font-size:var(--text-xs)}.work-stats dd{margin:0;font-size:var(--text-2xl);font-weight:800;letter-spacing:var(--tracking-heading);line-height:1.1}.work-stat-add{color:var(--color-add)}.work-stat-del{color:var(--color-del)}.work-prs{grid-column:1/-1;margin:var(--space-6) 0 0;padding:0;border-top:1px solid var(--color-border);list-style:none}.work-prs>li{position:relative;display:grid;grid-template-columns:5ch minmax(0, 1fr);gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-border);break-inside:avoid}@media (hover: hover){.work-prs>li:hover{background:color-mix(in srgb, var(--color-border) 45%, rgba(0,0,0,0))}}.work-pr-number{color:var(--color-muted)}.work-pr-title{color:var(--color-fg);line-height:var(--leading-snug);overflow-wrap:anywhere;text-decoration:none}.work-pr-title::after{content:"";position:absolute;inset:0}.work-pr-title:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:.25em}.work-pr-title:focus-visible{outline:none}.work-pr-title:focus-visible::after{outline:var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-sm)}.work-pr-meta{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-sm)}.work-pr-date{margin-inline-start:auto;color:var(--color-muted)}.work-diffstat{display:inline-flex;gap:2px}.work-diffstat>i{width:.5rem;height:.5rem;border-radius:1px;background:var(--color-del)}.work-diffstat.diffstat-1>:nth-child(-n+1){background:var(--color-add)}.work-diffstat.diffstat-2>:nth-child(-n+2){background:var(--color-add)}.work-diffstat.diffstat-3>:nth-child(-n+3){background:var(--color-add)}.work-diffstat.diffstat-4>:nth-child(-n+4){background:var(--color-add)}.work-diffstat.diffstat-5>:nth-child(-n+5){background:var(--color-add)}@media (min-width: 900px){.work-prs-split{column-count:2;column-gap:var(--space-8);column-rule:1px solid var(--color-border)}}.vt-hyprspaces{view-transition-name:work-hyprspaces}.vt-title-hyprspaces{view-transition-name:work-title-hyprspaces}.vt-awds{view-transition-name:work-awds}.vt-title-awds{view-transition-name:work-title-awds}.vt-jtaw-dev{view-transition-name:work-jtaw-dev}.vt-title-jtaw-dev{view-transition-name:work-title-jtaw-dev}.vt-ava{view-transition-name:work-ava}.vt-title-ava{view-transition-name:work-title-ava}@media (hover: hover){.work-card:hover{border-color:var(--color-border-hover)}}@media (prefers-reduced-motion: no-preference){@keyframes work-rise{from{opacity:0;transform:translateY(.75rem)}}.work-grid>li{animation:work-rise 400ms ease-out backwards}.work-grid>li:nth-child(2){animation-delay:60ms}.work-grid>li:nth-child(3){animation-delay:120ms}.work-grid>li:nth-child(4){animation-delay:180ms}.work-card{transition:border-color var(--duration-fast) var(--ease-standard)}.work-frame,.work-pairs,.work-diff-panel{transition:box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}@keyframes work-reel{0%, 29.167%{transform:translateY(0)}33.333%, 62.5%{transform:translateY(-25%)}66.667%, 95.833%{transform:translateY(-50%)}100%{transform:translateY(-75%)}}@keyframes work-cut-1{0%, 30.555%{opacity:1}30.556%, 97.221%{opacity:0}97.222%, 100%{opacity:1}}@keyframes work-cut-2{0%, 30.555%{opacity:0}30.556%, 63.888%{opacity:1}63.889%, 100%{opacity:0}}@keyframes work-cut-3{0%, 63.888%{opacity:0}63.889%, 97.221%{opacity:1}97.222%, 100%{opacity:0}}@keyframes work-pulse{0%, 29.167%, 33.333%, 62.5%, 66.667%, 95.833%, 100%{color:var(--color-border-hover)}30.556%, 63.889%, 97.222%{color:var(--color-accent)}}@keyframes work-press{0%, 26.367%, 31.967%, 59.7%, 65.3%, 93.033%, 98.633%, 100%{transform:translateY(0)}27.767%, 30.567%, 61.1%, 63.9%, 94.433%, 97.233%{transform:translateY(.125rem)}}.work-pairs .work-reel{animation:work-reel 7.2s cubic-bezier(.3, .9, .3, 1) infinite}.work-pairs .work-screen .work-pair-1,.work-pairs .work-screen .work-pair-2,.work-pairs .work-screen .work-pair-3{display:block;animation:7.2s linear infinite}.work-pairs .work-screen .work-pair-1{animation-name:work-cut-1}.work-pairs .work-screen .work-pair-2{animation-name:work-cut-2}.work-pairs .work-screen .work-pair-3{animation-name:work-cut-3}.work-pairs .work-key{animation:work-press 7.2s linear infinite}.work-pairs .work-pairs-link{animation:work-pulse 7.2s linear infinite}}@media (hover: hover) and (prefers-reduced-motion: no-preference){.work-card:hover .work-frame,.work-card:hover .work-pairs,.work-card:hover .work-diff-panel{box-shadow:var(--shadow-md);transform:translateY(-2px)}}@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-Variable.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--color-bg: #eef1f3;--color-surface: #e3e8eb;--color-fg: #12171b;--color-muted: #4a5862;--color-border: #c9d1d6;--color-accent: #a8420a;--color-accent-contrast: #fff;--color-accent-hover: #7a2e05;--color-surface-hover: #cdd5da;--color-border-hover: #7d8b95;--color-add: #0f6b3a;--color-del: #b3243b;--font-sans: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-mono: var(--font-sans)}@media (prefers-color-scheme: dark){:root{--color-bg: #0e1216;--color-surface: #161c21;--color-fg: #e9edf0;--color-muted: #97a4ae;--color-border: #27313a;--color-accent: #f2a65a;--color-accent-contrast: #0e1216;--color-accent-hover: #ffc88f;--color-surface-hover: #26313a;--color-border-hover: #566876;--color-add: #4cc38a;--color-del: #ff7b8a}}:root:where([data-theme=light]){--color-bg: #eef1f3;--color-surface: #e3e8eb;--color-fg: #12171b;--color-muted: #4a5862;--color-border: #c9d1d6;--color-accent: #a8420a;--color-accent-contrast: #fff;--color-accent-hover: #7a2e05;--color-surface-hover: #cdd5da;--color-border-hover: #7d8b95;--color-add: #0f6b3a;--color-del: #b3243b}:root:where([data-theme=dark]){--color-bg: #0e1216;--color-surface: #161c21;--color-fg: #e9edf0;--color-muted: #97a4ae;--color-border: #27313a;--color-accent: #f2a65a;--color-accent-contrast: #0e1216;--color-accent-hover: #ffc88f;--color-surface-hover: #26313a;--color-border-hover: #566876;--color-add: #4cc38a;--color-del: #ff7b8a}:root:not([data-theme-mode]) .theme-toggle{display:none}.site-logo-text{font-weight:800;letter-spacing:-.03em}.site-logo{gap:.57em}.site-logo-mark{width:auto;height:auto;line-height:0}@media (hover: hover){.button-primary:not([disabled]):hover{background:var(--color-accent-hover)}.button-secondary:not([disabled]):hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}}.site-main-home{display:flex;align-items:center;padding:var(--space-12) 0 var(--space-20)}.home{display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:center;gap:var(--space-8) var(--space-16);width:100%}.home-avatar{position:relative;padding:var(--space-4)}.home-avatar::before,.home-avatar::after{content:"";position:absolute;width:2rem;height:2rem;border:0 solid var(--color-accent)}.home-avatar::before{inset:0 auto auto 0;border-width:3px 0 0 3px}.home-avatar::after{inset:auto 0 0 auto;border-width:0 3px 3px 0}.home-avatar img{display:block;width:9.25rem;height:9.25rem}.home-name{margin:0;font-size:clamp(3.5rem,12vw,6.5rem);font-weight:800;letter-spacing:-.05em;line-height:1}.home-intro{max-width:32rem;margin-top:var(--space-6);font-size:var(--text-xl);line-height:var(--leading-snug)}.home-intro p{margin:0}.home-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.home-links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-6);margin:var(--space-6) 0 0;padding:0;list-style:none}.home-links a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--color-muted)}.home-links a:hover{color:var(--color-fg)}.home-links a:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.home-links svg{display:block;width:1.25rem;height:1.25rem}.site-footer-link-name{white-space:nowrap}.site-footer-mark svg,.site-logo-mark svg{display:inline-block;width:1.25em;height:1.25em;vertical-align:-.3em}@media (max-width: 760px){.site-main-home{align-items:flex-start;padding-top:var(--space-8)}.home{grid-template-columns:minmax(0, 1fr)}.home-avatar{justify-self:start}.home-avatar img{width:8rem;height:8rem}.site-footer-links{margin-inline-start:calc(-1*var(--space-1))}}@media (max-width: 480px){.home-actions .button{flex:1 1 100%}}