.shortcut-key[data-astro-cid-wwn462so]{text-shadow:none;box-shadow:0 1px 0 0 hsl(var(--shortcut-shadow));background-image:none;border:0}.badge[data-astro-cid-fohfi2zv]:after{content:"";mix-blend-mode:overlay;background:linear-gradient(110deg,#0000 40%,#ffffffbf 50%,#0000 60%) 0 0/300% 100%;border-radius:999px;animation:4.5s ease-in-out infinite badge-sweep;position:absolute;inset:0}@keyframes badge-sweep{0%,65%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.badge[data-astro-cid-fohfi2zv]:after{opacity:0;animation:none}}@property --sticker-crease{syntax:"<length-percentage>";inherits:true;initial-value:0}.sticker-slot[data-astro-cid-huigjcvk]{width:var(--s);height:var(--s);position:relative}.sticker-cutout[data-astro-cid-huigjcvk]{color:hsl(var(--foreground));opacity:0;pointer-events:none;place-items:center;transition:opacity .2s ease-out,scale .16s ease-out;display:grid;position:absolute;inset:0}.sticker-slot[data-astro-cid-huigjcvk][data-displaced] .sticker-cutout[data-astro-cid-huigjcvk]{opacity:.1}.sticker-slot[data-astro-cid-huigjcvk][data-near] .sticker-cutout[data-astro-cid-huigjcvk]{opacity:.26;scale:1.06}.cutout-art[data-astro-cid-huigjcvk]{width:var(--s);height:var(--s);rotate:var(--rot);place-items:center;display:grid}.sticker-move[data-astro-cid-huigjcvk]{position:absolute;inset:0}.sticker-tooltip[data-astro-cid-huigjcvk]{top:calc(var(--s) + 15px);z-index:20;background:hsl(var(--inset));color:hsl(var(--foreground));white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:4px 8px;transition:opacity .2s ease-out;position:absolute;left:50%;translate:-50%}.sticker[data-astro-cid-huigjcvk]:is(:hover,:focus-within)~.sticker-tooltip[data-astro-cid-huigjcvk]{opacity:1}.sticker[data-astro-cid-huigjcvk][data-dragging]~.sticker-tooltip[data-astro-cid-huigjcvk]{opacity:0}.sticker[data-astro-cid-huigjcvk]{--peel-easing:2s linear(0, .002 0.4%, .008 0.9%, .02 1.4%, .035 1.9%, .055 2.4%, .083 3%, .11 3.5%, .146 4.1%, .214 5.1%, .297 6.2%, .624 10.2%, .756 11.9%, .821 12.8%, .874 13.6%, .93 14.5%, .975 15.3%, 1.016 16.1%, 1.053 16.9%, 1.085 17.7%, 1.116 18.6%, 1.139 19.4%, 1.16 20.3%, 1.176 21.2%, 1.187 22.1%, 1.195 23.2%, 1.197 24.4%, 1.193 25.6%, 1.183 26.9%, 1.17 28.1%, 1.153 29.4%, 1.055 35.6%, 1.031 37.3%, 1.012 38.8%, .994 40.6%, .98 42.3%, .97 44.1%, .964 45.9%, .961 48.3%, .964 51.1%, .97 53.7%, .997 62.7%, 1.003 66%, 1.007 69.3%, 1.007 74.4%, 1 89.2%, 1);--peel-hover-easing:1s linear(0, .008 1.1%, .031 2.2%, .129 4.8%, .257 7.2%, .671 14.2%, .789 16.5%, .881 18.6%, .957 20.7%, 1.019 22.9%, 1.063 25.1%, 1.094 27.4%, 1.114 30.7%, 1.112 34.5%, 1.018 49.9%, .99 59.1%, 1);--start:calc(-1 * var(--p));--end:calc(100% + var(--p));--sticker-crease:var(--start);transition:--sticker-crease var(--peel-hover-easing);width:var(--s);height:var(--s);touch-action:none;-webkit-tap-highlight-color:transparent;overflow-clip-margin:var(--p);position:absolute;inset:0;overflow:clip}.sticker-defs[data-astro-cid-huigjcvk]{width:0;height:0;position:absolute}.sticker-container[data-astro-cid-huigjcvk]{width:var(--s);height:var(--s);rotate:var(--dir);position:relative}.upright[data-astro-cid-huigjcvk]{rotate:calc(-1 * var(--dir))}.sticker-container[data-astro-cid-huigjcvk] [data-astro-cid-huigjcvk]{user-select:none;-webkit-touch-callout:none}.sticker-lighting[data-astro-cid-huigjcvk]{filter:var(--sheen) drop-shadow(0 1px 1.5px hsl(var(--sticker-shadow)))}.sticker-image[data-astro-cid-huigjcvk],.flap-image[data-astro-cid-huigjcvk]{width:var(--s);height:var(--s);rotate:var(--rot);place-items:center;display:grid}.mark[data-astro-cid-huigjcvk]{width:calc(var(--s) * .9);height:calc(var(--s) * .9)}.sticker-main[data-astro-cid-huigjcvk]{clip-path:polygon(var(--start) var(--sticker-crease), var(--end) var(--sticker-crease), var(--end) var(--end), var(--start) var(--end))}.sticker[data-astro-cid-huigjcvk]:hover,.sticker[data-astro-cid-huigjcvk]:focus-within{--sticker-crease:var(--peel-hover)}.sticker[data-astro-cid-huigjcvk]:active,.sticker[data-astro-cid-huigjcvk][data-dragging]{--sticker-crease:var(--peel-active);transition:--sticker-crease var(--peel-easing)}.flap[data-astro-cid-huigjcvk]{width:100%;height:100%;clip-path:polygon(var(--start) var(--start), var(--end) var(--start), var(--end) var(--sticker-crease), var(--start) var(--sticker-crease));transform:translateY(calc(-100% + 2 * var(--sticker-crease) - 1px)) scaleY(-1);position:absolute;top:0;left:0}.sticker-main[data-astro-cid-huigjcvk],.flap[data-astro-cid-huigjcvk]{will-change:clip-path, transform}.sticker-slot[data-astro-cid-huigjcvk][data-displaced] .sticker[data-astro-cid-huigjcvk]{z-index:30}.sticker[data-astro-cid-huigjcvk]:hover{cursor:grab}.sticker[data-astro-cid-huigjcvk][data-dragging]{cursor:grabbing}@media (prefers-reduced-motion:reduce){.sticker[data-astro-cid-huigjcvk],.sticker[data-astro-cid-huigjcvk]:active,.sticker[data-astro-cid-huigjcvk][data-dragging]{transition:none}}.work-canvas-layout{margin-top:16px}.canvas-stage{isolation:isolate;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:clamp(580px,51vw,720px);position:relative;overflow:hidden}.canvas-stage[data-dragging=true],.canvas-stage[data-dragging=true] button{cursor:grabbing}.canvas-stage:focus-visible{outline:none}.canvas-stage:focus-visible:after{content:"";outline:2px solid hsl(var(--foreground) / .5);pointer-events:none;border-radius:16px;position:absolute;inset:12px max(16px,50% - 580px)}.canvas-ground-mask{pointer-events:none;position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.canvas-ground{pointer-events:none;opacity:.65;position:absolute;inset:-100px}.work-terrain{width:100%;height:100%;display:block}.work-terrain path{fill:none;stroke:hsl(var(--muted-foreground) / .2);stroke-width:1px;vector-effect:non-scaling-stroke}.work-terrain path[data-index=true]{stroke:hsl(var(--muted-foreground) / .38)}.canvas-camera{transform-origin:0 0;width:0;height:0;position:absolute;top:50%;left:50%}.canvas-node{position:absolute;top:0;left:0}.canvas-print{text-align:left;cursor:pointer;color:#181818;width:100%;transition:box-shadow var(--work-settle) var(--work-ease), scale var(--work-fast) var(--work-ease);background:#fff;border-radius:9px;padding:7px 7px 0;display:block;box-shadow:0 1px 2px #0000000d,0 12px 20px -9px #00000038}.dark .canvas-print{box-shadow:0 1px 2px #00000040,0 14px 24px -10px #00000080}.canvas-art{aspect-ratio:4/3;background:#e8e8e8;border-radius:4px;display:block;overflow:hidden}.canvas-art .project-cover{pointer-events:none}.canvas-caption{justify-content:space-between;align-items:center;gap:16px;padding:11px 10px 13px;display:flex}.canvas-name{flex-wrap:wrap;align-items:baseline;gap:3px 12px;display:flex}.canvas-name strong{letter-spacing:-.02em;font-size:18px;font-weight:500;line-height:24px}.canvas-name>span{color:#696969;font-size:11px;line-height:16px}.canvas-print-arrow{color:#6b6b6b;flex:0 0 20px;place-items:center;display:grid}.canvas-print-arrow svg{transition:transform var(--work-settle) var(--work-ease)}.canvas-print:active:not(:focus-visible){scale:.987}.canvas-print:focus-visible{outline:2px solid var(--work-ink);outline-offset:6px}.canvas-stage[data-dragging=true] .canvas-print{scale:1}[data-layout=stacks] .canvas-print{border-radius:6px;padding:9px 9px 0}[data-layout=stacks] .canvas-art{border-radius:2px}[data-layout=stacks] .canvas-caption{padding-block:13px 15px}.canvas-below{--panel-open-dur:.25s;--panel-close-dur:.15s;--panel-translate-y:4px;--panel-blur:2px;--panel-ease:ease-in-out;margin-top:4px}.t-panel-slide{transform:translateY(var(--panel-translate-y));opacity:0;filter:blur(var(--panel-blur));pointer-events:none;transition:transform var(--panel-close-dur) var(--panel-ease), opacity var(--panel-close-dur) var(--panel-ease), filter var(--panel-close-dur) var(--panel-ease);will-change:transform, opacity, filter}.t-panel-slide[data-open=true]{opacity:1;filter:blur();pointer-events:auto;transition:transform var(--panel-open-dur) var(--panel-ease), opacity var(--panel-open-dur) var(--panel-ease), filter var(--panel-open-dur) var(--panel-ease);transform:translateY(0)}.canvas-caption-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.canvas-title-stack,.canvas-description-stack,.canvas-count-stack{display:grid}.canvas-title-stack>*,.canvas-description-stack>*,.canvas-count-stack>*{grid-area:1/1}.canvas-project-title{letter-spacing:-.025em;align-items:center;gap:10px;width:fit-content;min-height:44px;font-size:16px;font-weight:500;display:inline-flex}.canvas-project-title svg{width:16px;height:16px}.canvas-actions{align-items:center;gap:0;display:flex}.canvas-actions button{width:36px;min-height:44px;color:var(--work-muted);transition:color var(--work-fast) ease, background-color var(--work-fast) ease;border-radius:8px;place-items:center;display:grid}.canvas-actions button:active{background:hsl(var(--button))}.canvas-actions button:active svg{scale:.9}.canvas-actions button svg{transition:scale var(--work-fast) var(--work-ease)}.canvas-position{font-variant-numeric:tabular-nums;white-space:pre;color:var(--work-muted);align-items:baseline;padding-inline:2px;font-size:11px;display:flex}.canvas-count-stack{color:var(--work-ink)}.canvas-spread{margin-left:8px}.spread-leaf{transform-origin:10px 15px;transition:transform var(--work-settle) var(--work-ease)}.canvas-spread[aria-pressed=true] .spread-leaf{transform:translate(2px)rotate(12deg)}.canvas-description-stack{max-width:55ch;margin-top:2px}.canvas-description{color:var(--work-muted);text-wrap:pretty;font-size:13px;line-height:1.65}@media (hover:hover) and (pointer:fine){.canvas-print:hover .canvas-print-arrow svg{transform:translate(2px,-2px)}.canvas-actions button:hover{color:var(--work-ink);background:hsl(var(--button))}.canvas-project-title:hover .work-arrow{transform:translate(2px,-2px)}}@media (pointer:coarse){.canvas-actions button{width:40px}}@media (width<700px){.canvas-stage{height:520px}.canvas-ground{inset:-80px -300px}.canvas-caption{min-height:52px}.canvas-name{flex-direction:column;gap:2px}.canvas-caption-head{gap:4px}.canvas-project-title{gap:6px;font-size:15px}.canvas-spread{margin-left:0}.canvas-description-stack{margin-top:4px}}@media (width<370px){.canvas-stage{height:470px}.canvas-actions button{width:34px}.canvas-project-title{font-size:14px}}@media (prefers-reduced-motion:reduce){.t-panel-slide{transition:none!important}.canvas-print{transform:scale(1)!important}.canvas-print-arrow svg{transform:none!important}}:root{--work-fast:.15s;--work-settle:.25s;--work-close:.2s;--work-ease:cubic-bezier(.22, 1, .36, 1)}.work-gallery{--work-ink:hsl(var(--foreground));--work-muted:color-mix(in srgb, var(--work-ink) 64%, hsl(var(--background)));--work-surface:hsl(var(--surface));--work-edge:hsl(var(--border));font-family:var(--font-sans);color:var(--work-ink);padding-bottom:24px}#work{scroll-margin-top:70px;animation:none}.work-measure{width:min(100%, var(--content-width));margin-inline:auto;padding-inline:16px}.work-caption{color:var(--work-muted);font-size:12px;line-height:1.6}.work-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.work-heading h2{color:var(--work-muted)}.work-gallery :is(button,a):focus-visible{outline:2px solid var(--work-ink);outline-offset:5px}.work-gallery button{cursor:pointer}.work-gallery button:disabled{cursor:default;opacity:.3}.project-cover{object-fit:cover;width:100%;height:100%;display:block}.shader-cover{width:100%;height:100%;display:block;position:relative}.shader-cover-canvas{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .32s var(--work-ease);display:block;position:absolute;inset:0}.shader-cover-canvas[data-live=true]{opacity:1}.work-project-link{align-items:center;gap:14px;width:fit-content;min-height:44px;font-size:13px;font-weight:500;display:inline-flex}.work-project-link svg{transition:transform var(--work-settle) var(--work-ease)}@media (hover:hover) and (pointer:fine){.work-project-link:hover svg{transform:translate(2px,-2px)}}.work-arrow{transition:transform var(--work-settle) var(--work-ease)}.work-gallery [data-keyboard=true] *,.work-gallery :focus-visible svg{transition:none!important}@media (prefers-reduced-motion:reduce){.work-gallery *,.work-gallery :before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
