@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4f6667dd39116621-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07935285219a259d-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f58031ded4338640-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/77814b00d5ca94a4-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/605ce01b664af129-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.ZJ15Cq_className{font-family:Geist,Geist Fallback;font-style:normal}.ZJ15Cq_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b0c6b664fd57c2c6-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6e342921ee4dcd9d-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bb852295097cd96-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9eb5a876700c0028-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2a04751c893bf294-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07a39a8a4660cc7c-s.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.WDK-YG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.WDK-YG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--beam:0deg}}}@layer theme{:root,:host{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-family-sans);--default-mono-font-family:var(--font-family-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{background:var(--background);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6rem}body{color:var(--foreground);font-family:var(--font-family-sans);font-size:var(--text-base);letter-spacing:-.008em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.65}::selection{background:var(--foreground);color:var(--background)}:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:4px}p,li,dd{text-wrap:pretty}strong{font-weight:500}img,canvas,svg{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}a,button,summary,[role=tab]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@layer components{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);z-index:60;background:var(--primary);color:var(--primary-foreground);font-size:var(--text-sm);border-radius:var(--radius);padding:.4375rem .75rem;position:absolute;top:-4rem}.skip-link:focus-visible{top:.625rem}.page{overflow-x:clip}.wrap{width:100%;max-width:calc(var(--column) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.narrow,.narrow-sections .wrap{max-width:calc(var(--measure) + var(--gutter) * 2)}.muted{color:var(--muted-foreground)}.dotted{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.22em;text-decoration-thickness:1px;transition:text-decoration-color .14s}.dotted:hover{text-decoration-color:currentColor}.quiet-link{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.22em;transition:color .14s}.quiet-link:hover{color:var(--foreground)}.link-arrow{vertical-align:-.1em;color:var(--muted-foreground);transition:transform .18s var(--ease-out);margin-left:.15em;display:inline-block}a:hover>.link-arrow{transform:translate(1.5px,-1.5px)}.chip{height:2.375rem;font-size:var(--text-sm);white-space:nowrap;border:1px solid var(--border-strong);transition:background-color .14s ease, border-color .14s ease, transform .24s var(--spring);border-radius:999px;align-items:center;gap:.4375rem;padding-inline:1rem;font-weight:500;display:inline-flex}.chip:hover{background:var(--muted);border-color:var(--muted-foreground)}.chip:active{transform:scale(.96)}.chip svg{transition:transform .24s var(--spring)}.chip:hover svg{transform:translate(2px)}.chip-solid{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.chip-solid:hover{background:var(--primary);border-color:var(--primary);opacity:.88}.entry-title{font-weight:500;line-height:1.4;display:block}.entry-sub{color:var(--muted-foreground);line-height:1.5;display:block}.topbar{z-index:40;padding-inline:var(--gutter);pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid;position:fixed;inset:.75rem 0 auto}.topbar>*{pointer-events:auto}.topbar{transition:transform .42s var(--ease-out), inset .32s var(--ease-out)}:root[data-scrolled=true] .topbar{inset:.5rem 0 auto}@media (min-width:40rem){:root[data-scroll-dir=down] .topbar{transform:translateY(calc(-100% - 1rem))}:root[data-scroll-dir=down] .topbar:focus-within{transform:none}}.nav{background:var(--card);grid-column:2;padding:.25rem}@supports (color:color-mix(in lab, red, red)){.nav{background:color-mix(in srgb, var(--card) 76%, transparent)}}.nav{backdrop-filter:saturate(1.6)blur(18px);border:1px solid var(--border);box-shadow:0 1px 0 var(--card) inset, 0 10px 30px -14px #00000040;border-radius:999px}@supports (color:color-mix(in lab, red, red)){.nav{box-shadow:0 1px 0 color-mix(in srgb, var(--card) 60%, transparent) inset, 0 10px 30px -14px #00000040}}.nav ul{display:flex;position:relative}.nav ul:before{content:"";width:var(--pill-w,0);transform:translateX(var(--pill-x,0));background:var(--muted);transition:transform .36s var(--ease-out), width .36s var(--ease-out);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.nav-link{font-size:var(--text-sm);color:var(--muted-foreground);border-radius:999px;padding:.4375rem .875rem;transition:color .14s;display:block;position:relative}.nav-link:hover,.nav-link[aria-current]{color:var(--foreground)}.topbar-end{grid-column:3;justify-self:end;align-items:center;gap:.5rem;display:flex}.icon-btn{width:2.5rem;height:2.5rem;color:var(--muted-foreground);background:var(--card);flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.icon-btn{background:color-mix(in srgb, var(--card) 76%, transparent)}}.icon-btn{backdrop-filter:blur(18px);border:1px solid var(--border);transition:color .14s ease, transform .4s var(--spring);border-radius:50%}.theme-sun{display:none}:root[data-theme=dark] .theme-sun{display:block}:root[data-theme=dark] .theme-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-sun{display:block}:root:not([data-theme=light]) .theme-moon{display:none}}.icon-btn:hover{color:var(--foreground);transform:rotate(180deg)}.brand{letter-spacing:-.05em;height:2.5rem;color:var(--foreground);grid-column:1;justify-self:start;align-items:center;padding:0 .25rem;font-size:1.0625rem;font-weight:650;transition:opacity .16s;display:inline-flex}.brand:hover{opacity:.7}.resume-btn{isolation:isolate;background:radial-gradient(120% 140% at 50% -40%, #ffffff38, transparent 60%), linear-gradient(to bottom, var(--primary), var(--primary));flex:none;align-items:center;height:2.5rem;padding:0 1.25rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.resume-btn{background:radial-gradient(120% 140% at 50% -40%, #ffffff38, transparent 60%), linear-gradient(to bottom, color-mix(in srgb, var(--primary) 86%, gray), var(--primary))}}.resume-btn{color:var(--primary-foreground);font-size:var(--text-sm);letter-spacing:-.01em;box-shadow:inset 0 1px 0 #ffffff42, inset 0 0 0 1px #ffffff12, 0 0 0 1px var(--primary), 0 1px 2px #0000004d, 0 12px 24px -12px #0009;border-radius:999px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.resume-btn{box-shadow:inset 0 1px 0 #ffffff42, inset 0 0 0 1px #ffffff12, 0 0 0 1px color-mix(in srgb, var(--primary) 70%, transparent), 0 1px 2px #0000004d, 0 12px 24px -12px #0009}}.resume-btn{transition:transform .26s var(--spring), box-shadow .26s var(--ease-out)}.resume-btn:after{content:"";z-index:-1;transition:transform .8s var(--ease-out);pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff47 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.resume-btn:hover{box-shadow:inset 0 1px 0 #ffffff4d, inset 0 0 0 1px #ffffff1a, 0 0 0 1px var(--primary), 0 2px 4px #0000004d, 0 16px 30px -12px #000000a6;transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.resume-btn:hover{box-shadow:inset 0 1px 0 #ffffff4d, inset 0 0 0 1px #ffffff1a, 0 0 0 1px color-mix(in srgb, var(--primary) 70%, transparent), 0 2px 4px #0000004d, 0 16px 30px -12px #000000a6}}.resume-btn:hover:after{transform:translate(120%)}.resume-btn:before{content:"";z-index:1;border-radius:inherit;background:conic-gradient(from var(--beam,0deg), transparent 0 62%, #ffffffbf 80%, transparent 92%);-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@media (prefers-reduced-motion:no-preference){.resume-btn:before{animation:3.6s linear infinite beam}}.resume-btn:active{transform:scale(.97)}@media (max-width:39.99rem){.topbar{grid-template-columns:auto 1fr}.topbar-end{grid-column:2;gap:.375rem}.nav{left:50%;bottom:max(.875rem, env(safe-area-inset-bottom));position:fixed;transform:translate(-50%)}.icon-btn,.brand,.resume-btn{height:2.375rem}.icon-btn{width:2.375rem}.resume-btn{padding-inline:1rem}.page{padding-bottom:4.5rem}}.dither{touch-action:pan-y;position:relative;overflow:hidden}.dither-sky{height:clamp(17rem,44vw,24rem)}.dither-horizon{width:100%;height:clamp(9rem,24vw,14rem)}.dither-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.dither-body{left:var(--bx,50%);top:var(--by,45%);width:calc(var(--br,3rem) * 2);height:calc(var(--br,3rem) * 2);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.dither-body:focus-visible{outline-offset:6px;border-radius:50%}.hero-id{align-items:center;gap:.875rem;display:flex}.portrait{object-fit:contain;flex:none;display:block}.hero-name{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:600;line-height:1.3}.letter{display:inline-block}.hero-role{color:var(--muted-foreground);line-height:1.4}.intro{font-size:var(--text-lg);color:var(--muted-foreground);gap:1rem;margin-top:1.75rem;line-height:1.7;display:grid}.inline-link{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.22em;font-weight:500;text-decoration-thickness:1px;transition:text-decoration-color .14s;display:inline}.inline-link:hover{text-decoration-color:currentColor}.inline-link svg{vertical-align:-.12em;margin-right:.3em;display:inline-block}.email{align-items:baseline;gap:.25rem;display:inline-flex}.copy-btn{width:1.625rem;height:1.625rem;color:var(--muted-foreground);vertical-align:middle;transition:color .14s ease, background-color .14s ease, transform .3s var(--spring);border-radius:.4375rem;place-items:center;display:inline-grid}.copy-btn:hover{color:var(--foreground);background:var(--muted)}.copy-btn[data-copied=true]{color:var(--foreground);transform:scale(1.12)}.section{padding-top:clamp(3.5rem,8vw,4.5rem)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:1rem;display:flex}.section-title{font-size:var(--text-sm);letter-spacing:0;color:var(--muted-foreground);font-weight:500}.section-lead{max-width:34rem;color:var(--muted-foreground);margin-top:.5rem}.section-note{font-size:var(--text-sm);color:var(--muted-foreground)}.page-head{padding-top:clamp(7rem,16vw,9.5rem);padding-bottom:2.5rem}.page-title{letter-spacing:-.045em;font-size:clamp(2rem,7vw,2.75rem);font-weight:600;line-height:1.05}.page-lead{max-width:34rem;font-size:var(--text-lg);color:var(--muted-foreground);margin-top:.875rem}.crumb{font-size:var(--text-sm);color:var(--muted-foreground);transition:color .14s ease, transform .24s var(--ease-out);margin-bottom:1.25rem;display:inline-block}.crumb:before{content:"← "}.crumb:hover{color:var(--foreground);transform:translate(-3px)}.about-head{justify-items:start;gap:1.5rem;display:grid}.prose{font-size:var(--text-lg);gap:1rem;line-height:1.6;display:grid}.rows .row+.row{border-top:1px solid var(--border)}.row{justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.875rem;display:flex}.row-main{min-width:0;display:grid}.row-meta{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--muted-foreground);flex:none}.empty{color:var(--muted-foreground);text-align:center;border:1px dashed var(--border-strong);border-radius:1.25rem;justify-items:center;gap:1rem;padding:2.5rem 1.25rem;display:grid}.logo-mono{font-family:var(--font-family-mono);letter-spacing:0;font-size:.625rem;font-weight:500}.shot{background:var(--card);width:100%;height:auto;box-shadow:0 0 0 1px var(--foreground), 0 18px 40px -20px #0000004d;border-radius:.625rem;display:block}@supports (color:color-mix(in lab, red, red)){.shot{box-shadow:0 0 0 1px color-mix(in srgb, var(--foreground) 10%, transparent), 0 18px 40px -20px #0000004d}}.shot{-webkit-user-select:none;user-select:none}.stage{background:var(--muted);perspective:900px;border-radius:1.25rem;padding:1.25rem;display:block;position:relative;overflow:hidden}@media (min-width:40rem){.stage{padding:1.75rem}}.stage-flush{padding-bottom:0}.stage-flush .shot{transform-origin:50% 100%;border-radius:.625rem .625rem 0 0}.stage .shot{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease-out);will-change:transform}.tiles{grid-template-columns:minmax(0,1fr);gap:2.75rem;display:grid}.tile-link{display:block}.tile-caption{margin-top:.875rem;display:grid}.tile-link:hover .entry-title,.more-card:hover .entry-title,.post-row:hover .entry-title,.next-post:hover .entry-title{text-underline-offset:.22em;text-decoration:underline 1px}.case-head{padding-top:clamp(7rem,16vw,9.5rem)}.case-status{font-size:var(--text-sm);color:var(--muted-foreground);margin-bottom:.5rem}.case-statement{letter-spacing:-.02em;max-width:44rem;color:var(--muted-foreground);margin-top:1.25rem;font-size:clamp(1.25rem,3.4vw,1.625rem);line-height:1.4}.case-cover{margin-top:2.5rem}.screens{gap:1.5rem;display:grid}.screens [data-mobile] .shot{width:auto;max-height:34rem;margin-inline:auto}.screens figcaption{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:.5rem}.case-meta{font-size:var(--text-sm);gap:1.25rem 2rem;margin-top:2rem;display:grid}@media (min-width:40rem){.case-meta{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}}.case-meta dt{color:var(--muted-foreground);margin-bottom:.375rem}.case-meta dd{font-size:var(--text-base)}.case-links{justify-items:start;gap:.125rem;display:grid}.case-body{gap:2rem;margin-top:1rem;display:grid}.toc{display:none}@media (min-width:68rem){.case-body{position:relative}.toc{width:11rem;font-size:var(--text-sm);padding-top:3.5rem;display:block;position:absolute;top:0;bottom:0;right:calc(100% + 1.5rem)}.toc ol{position:sticky;top:6rem}}.toc-title{color:var(--muted-foreground);margin-bottom:.625rem}.toc ol{border-left:1px solid var(--border);display:grid}.toc a{color:var(--muted-foreground);transition:color .14s ease, border-color .14s ease, padding-left .24s var(--ease-out);border-left:1px solid #0000;margin-left:-1px;padding:.3125rem 0 .3125rem .875rem;display:block}.toc a[aria-current]{color:var(--foreground);border-left-color:var(--foreground)}.toc a:hover{color:var(--foreground);border-left-color:var(--foreground);padding-left:1.125rem}.case-section{font-size:var(--text-lg);gap:1rem;padding-top:3.5rem;line-height:1.65;display:grid}.case-heading{letter-spacing:-.035em;font-size:1.625rem;font-weight:600;line-height:1.15}.case-points{gap:.5rem;display:grid}.case-points li{padding-left:1.375rem;position:relative}.case-points li:before{content:"";background:var(--border-strong);border-radius:50%;width:.375rem;height:.375rem;position:absolute;top:.62em;left:.125rem}.figure{font-size:var(--text-base);background:var(--muted);border-radius:1.25rem;margin-top:.5rem;padding:clamp(1rem,3vw,1.75rem)}.closeups{gap:.75rem;margin-top:.5rem;display:grid}@media (min-width:36rem){.closeups{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}}.closeup-frame{background:var(--muted);border-radius:1rem;place-items:center;padding:1rem;display:grid;overflow:hidden}.closeup .shot{width:auto;max-width:100%;max-height:16rem;transition:transform .5s var(--ease-out);border-radius:.5rem}.closeup:hover .shot{transform:scale(1.04)}.closeup figcaption{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:.5rem}.lessons{counter-reset:lesson;gap:1.25rem;display:grid}.lessons li{counter-increment:lesson;grid-template-columns:2rem minmax(0,1fr);column-gap:.75rem;display:grid}.lessons li:before{content:counter(lesson);width:2rem;height:2rem;font-family:var(--font-family-mono);font-size:var(--text-sm);background:var(--muted);border-radius:.5rem;grid-row:span 2;place-items:center;display:grid}.lessons h3{letter-spacing:-.015em;font-weight:600}.lessons p{color:var(--muted-foreground);grid-column:2}.more{margin-top:clamp(4.5rem,10vw,7rem)}.more-title{letter-spacing:-.035em;margin-bottom:1.5rem;font-size:1.625rem;font-weight:600}.more-list{gap:2rem 1.25rem;display:grid}@media (min-width:34rem){.more-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.more-card{display:block}.more-card .stage{padding:1rem 1rem 0}.more-card .shot{aspect-ratio:16/10;object-fit:cover;object-position:top}.more-caption{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-top:.75rem;display:flex}.more-caption>svg{color:var(--muted-foreground);transition:transform .28s var(--spring);flex:none;margin-top:.25rem}.more-card:hover .more-caption>svg{transform:translate(4px)}.author{border:1px solid var(--border);border-radius:1.25rem;flex-wrap:wrap;align-items:center;gap:.875rem;margin-top:3rem;padding:1rem;display:flex}.author p{margin-right:auto}.footer{padding-top:clamp(5rem,12vw,8rem)}.footer-title{font-size:var(--text-sm);color:var(--muted-foreground);font-weight:400}.footer-email{letter-spacing:-.035em;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.5rem;font-size:clamp(1.375rem,5.4vw,1.875rem);font-weight:600;line-height:1.2;display:flex}.footer-email a{overflow-wrap:anywhere;transition:background-size .5s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat}.footer-email a:hover{background-size:100% 2px}.footer-links{color:var(--muted-foreground);flex-wrap:wrap;gap:.375rem 1.25rem;margin:1rem 0 2rem;display:flex}.footer-meta{font-size:var(--text-sm);color:var(--muted-foreground);flex-wrap:wrap;justify-content:flex-start;gap:.25rem 1.25rem;padding-block:1.25rem 2rem;display:flex}.footer-meta>span:first-child{margin-inline-end:auto}.cursor-tag{z-index:100;background:var(--foreground);color:var(--background);letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;transform-origin:0 0;transition:opacity .14s ease, scale .22s var(--spring);will-change:transform;border-radius:2px 9px 9px;padding:.1875rem .5rem;font-size:.6875rem;font-weight:500;line-height:1.4;position:fixed;top:0;left:0;scale:.8}.cursor-tag[data-visible=true]{opacity:1;scale:1}.cursor-tag[data-pressed=true]{scale:.9}.diagram{margin-top:1.25rem}.diagram-canvas,.diagram-source{background:var(--muted);background-image:radial-gradient(var(--foreground) 1px, transparent 1px);place-items:center;padding:clamp(1.25rem,4vw,2rem) clamp(.75rem,3vw,1.5rem);display:grid;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.diagram-canvas,.diagram-source{background-image:radial-gradient(color-mix(in srgb, var(--foreground) 9%, transparent) 1px, transparent 1px)}}.diagram-canvas,.diagram-source{background-size:14px 14px;border-radius:1.25rem}.diagram[data-state=idle] .diagram-canvas,.diagram[data-state=error] .diagram-canvas{display:none}.diagram-canvas svg{width:100%;height:auto;max-height:32rem;max-width:100%!important}.diagram-canvas .node rect,.diagram-canvas .node polygon,.diagram-canvas .node path,.diagram-canvas .node circle{rx:10px}.diagram-canvas .cluster rect{rx:14px}.diagram-canvas .cluster-label,.diagram-canvas .cluster .nodeLabel{font-size:12px}.diagram-canvas{display:block}.diagram-source{font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--muted-foreground);white-space:pre;place-items:start;line-height:1.6}.diagram figcaption{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:.75rem}.cmd-kbd{background:var(--muted);border:1px solid var(--border);min-width:1.25rem;height:1.25rem;font-family:var(--font-family-mono);color:var(--muted-foreground);border-radius:.25rem;place-items:center;padding-inline:.3125rem;font-size:.6875rem;line-height:1;display:inline-grid}.cmd{width:min(36rem,100vw - 1.5rem);max-width:none;max-height:none;color:var(--popover-foreground);background:0 0;border:0;margin:12vh auto auto;padding:0;overflow:visible}.cmd::backdrop{-webkit-backdrop-filter:blur(3px);background:#00000052}.cmd-panel{background:var(--popover);border:1px solid var(--border-strong);border-radius:.75rem;overflow:hidden;box-shadow:0 1px 1px #0000000a,0 24px 60px -16px #00000052}.cmd-search{border-bottom:1px solid var(--border);color:var(--muted-foreground);align-items:center;gap:.625rem;padding:0 .75rem 0 1rem;display:flex}.cmd-input{min-width:0;height:3.25rem;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;font-size:1rem}.cmd-input::placeholder{color:var(--muted-foreground)}.cmd-search:focus-within{box-shadow:inset 0 -1px 0 var(--brand)}.cmd-close{background:var(--muted);border:1px solid var(--border);height:1.5rem;font-family:var(--font-family-mono);color:var(--muted-foreground);cursor:var(--cursor-pointer), pointer;border-radius:.3125rem;padding-inline:.4375rem;font-size:.6875rem}.cmd-close:hover{color:var(--foreground);border-color:var(--border-strong)}.cmd-list{overscroll-behavior:contain;max-height:min(24rem,52vh);padding:.375rem;overflow-y:auto}.cmd-group{font-family:var(--font-family-mono);color:var(--muted-foreground);padding:.625rem .625rem .25rem;font-size:.6875rem}.cmd-item{width:100%;min-height:2.5rem;font-size:var(--text-sm);text-align:left;cursor:var(--cursor-pointer), pointer;border-radius:.4375rem;align-items:center;gap:.625rem;padding:.375rem .625rem;scroll-margin:.375rem;display:flex}.cmd-item-active{background:var(--muted)}.cmd-item-icon{background:var(--card);border:1px solid var(--border);width:1.5rem;height:1.5rem;color:var(--muted-foreground);border-radius:.3125rem;flex:none;place-items:center;display:grid}.cmd-item-active .cmd-item-icon{border-color:var(--brand);color:var(--brand)}.cmd-item-label{flex:none;font-weight:500}.cmd-item-hint{min-width:0;font-size:var(--text-xs);color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.cmd-empty{font-size:var(--text-sm);color:var(--muted-foreground);text-align:center;padding:1.75rem 1rem}.cmd-footer{background:var(--muted);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--muted-foreground);gap:1.25rem;padding:.5rem .875rem;display:none}.cmd-footer span{align-items:center;gap:.3125rem;display:inline-flex}@media (min-width:44rem) and (hover:hover){.cmd-footer{display:flex}}.techs{flex-wrap:wrap;gap:.375rem;display:flex}.tech{height:1.875rem;font-size:var(--text-xs);color:var(--muted-foreground);white-space:nowrap;background:var(--muted);border-radius:999px;align-items:center;gap:.4375rem;padding:0 .625rem 0 .5rem;transition:color .16s;display:inline-flex}.tech:hover{color:var(--foreground)}.tech-mark{width:.9375rem;height:.9375rem;color:var(--foreground);flex:none;place-items:center;display:grid}.tile .techs{margin-top:.875rem}.tile-result{font-size:var(--text-sm);color:var(--foreground);border-left:2px solid var(--border-strong);margin-top:.5rem;padding-left:.75rem;display:block}.stats{background:var(--border);border:1px solid var(--border);border-radius:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--background);flex-direction:column-reverse;justify-content:flex-end;gap:.375rem;padding:1.125rem 1.125rem 1.25rem;display:flex}.stat-value{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,6vw,2.25rem);font-weight:600;line-height:1}.stat-label{font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.4}.timeline{gap:.5rem;padding-left:1.5rem;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--border-strong), var(--border) 70%, transparent);width:1px;position:absolute;top:.5rem;bottom:.5rem;left:.25rem}.tl-item{position:relative}.tl-dot{background:var(--background);border:1.5px solid var(--border-strong);border-radius:50%;width:.5625rem;height:.5625rem;position:absolute;top:1.0625rem;left:-1.5rem}.tl-item[data-current] .tl-dot{background:var(--foreground);border-color:var(--foreground);box-shadow:0 0 0 4px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tl-item[data-current] .tl-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--foreground) 12%, transparent)}}.tl-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.125rem 1rem;display:flex}.tl-role{font-size:var(--text-base);letter-spacing:-.01em;font-weight:500;display:grid}.tl-org{color:var(--muted-foreground);font-weight:400}.tl-range{white-space:nowrap}.tl-when{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--muted-foreground);text-align:right;justify-items:end;display:grid}.tl-place{font-size:var(--text-xs)}.tl-details{margin-inline:-.625rem}.tl-summary{cursor:var(--cursor-pointer), pointer;border-radius:.875rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.625rem;list-style:none;transition:background-color .14s;display:grid}.tl-summary::-webkit-details-marker{display:none}.tl-summary:hover{background:var(--muted)}.tl-chevron{width:1.5rem;height:1.5rem;color:var(--muted-foreground);transition:transform .32s var(--spring);place-items:center;display:grid}.tl-details[open] .tl-chevron{transform:rotate(180deg)}.tl-body{gap:.875rem;padding:.25rem .625rem .75rem;display:grid}@media (prefers-reduced-motion:no-preference){.tl-details[open] .tl-body{animation:tl-open .38s var(--ease-out)}}@keyframes tl-open{0%{opacity:0;transform:translateY(-4px)}}.tl-points{font-size:var(--text-sm);color:var(--muted-foreground);gap:.375rem;line-height:1.6;display:grid}.tl-points li{padding-left:1rem;position:relative}.tl-points li:before{content:"";background:var(--foreground);opacity:.55;width:.375rem;height:.375rem;transition:opacity .2s ease, transform .3s var(--spring);border-radius:1.5px;position:absolute;top:.62em;left:.125rem;transform:rotate(45deg)scale(.85)}.tl-points li:hover:before{opacity:1;transform:rotate(45deg)scale(1)}.tl-points li:hover{color:var(--foreground)}@media (max-width:30rem){.tl-when{text-align:left;justify-items:start}}.marquee{--marquee-gap:1rem;gap:var(--marquee-gap);padding-block:.25rem;display:flex;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{gap:var(--marquee-gap);flex:none;min-width:100%;display:flex}@media (prefers-reduced-motion:no-preference){.marquee-track{animation:marquee var(--marquee-s,40s) linear infinite}.marquee[data-reverse] .marquee-track{animation-direction:reverse}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.marquee{padding-inline:var(--gutter);overflow-x:auto;-webkit-mask-image:none;mask-image:none}.marquee-track[aria-hidden]{display:none}}@keyframes marquee{to{transform:translateX(calc(-100% - var(--marquee-gap)))}}.carousel-item{flex:none;width:clamp(15rem,62vw,20rem)}.carousel-card{background:var(--muted);transition:transform .36s var(--spring);border-radius:1.125rem;padding:.75rem .75rem .875rem;display:block}.carousel-card:hover{transform:translateY(-4px)}.carousel-shot{border-radius:.625rem;display:block;overflow:hidden}.carousel-shot .shot{aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform .7s var(--ease-out)}.carousel-card:hover .carousel-shot .shot{transform:scale(1.03)}.carousel-caption{margin-top:.75rem;padding-inline:.125rem;display:grid}.tool-rows{gap:.5rem;display:grid}.tool-rows .marquee{--marquee-gap:.5rem}.tool-rows .tech{height:2.25rem;font-size:var(--text-sm);border:1px solid var(--border);background:0 0;padding-inline:.75rem .875rem}.tool-rows .tech-mark{width:1.0625rem;height:1.0625rem}.toolbox{display:grid}.toolbox-row{border-top:1px solid var(--border);gap:.5rem;padding-block:1rem;display:grid}.toolbox-row:first-child{border-top:0;padding-top:0}.toolbox dt{font-size:var(--text-sm);color:var(--muted-foreground)}@media (min-width:40rem){.toolbox-row{grid-template-columns:9.5rem minmax(0,1fr);gap:1rem}.toolbox dt{padding-top:.3125rem}}@supports (color:color-mix(in lab, red, red)){.showcase-front .shot{box-shadow:0 0 0 1px color-mix(in srgb, var(--foreground) 12%, transparent), 0 24px 48px -18px #00000073}}.showcase-front.showcase-phone{width:19%;right:4%}.showcase-front.showcase-phone .shot{aspect-ratio:390/844;object-position:top center;border-radius:14px}@media (prefers-reduced-motion:no-preference){.showcase-back,.showcase-front{transition:transform .7s var(--ease-out)}.tile-link:hover .showcase-back{transform:translate(3%,-4%)}.tile-link:hover .showcase-front{transform:translate(2%,3%)}}@media (hover:hover) and (pointer:fine){[data-spotlight]:before,[data-spotlight]:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;position:absolute;inset:0}[data-spotlight]:before{z-index:-1;background:radial-gradient(22rem circle at var(--mx,50%) var(--my,50%), var(--foreground), transparent 60%)}@supports (color:color-mix(in lab, red, red)){[data-spotlight]:before{background:radial-gradient(22rem circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--foreground) 6%, transparent), transparent 60%)}}[data-spotlight]:after{z-index:2;background:radial-gradient(14rem circle at var(--mx,50%) var(--my,50%), var(--foreground), transparent 70%);padding:1px}@supports (color:color-mix(in lab, red, red)){[data-spotlight]:after{background:radial-gradient(14rem circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--foreground) 38%, transparent), transparent 70%)}}[data-spotlight]:after{-webkit-mask-composite:xor;-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}[data-spotlight]:hover:before,[data-spotlight]:hover:after{opacity:1}}.sky-layer{z-index:-1;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;opacity:.7;position:fixed;inset:0}@media (max-width:64rem){.sky-layer{display:none}}.wrap-wide{max-width:calc(60rem + var(--gutter) * 2)}.gallery-groups{gap:3rem;display:grid}@media (prefers-reduced-motion:no-preference){.gallery-group{animation:gallery-in .52s var(--ease-out) both}.gallery-group+.gallery-group{animation-delay:80ms}}@keyframes gallery-in{0%{opacity:0;transform:translateY(10px)}}.products{gap:1.5rem;display:grid}.product-card{border-radius:1.5rem;display:block;position:relative}.product-card .stage{border-radius:1.5rem}.product-chip{z-index:3;font-size:var(--text-sm);color:var(--background);background:var(--foreground);transition:opacity .26s ease, transform .36s var(--spring);border-radius:999px;align-items:center;gap:.375rem;padding:.4375rem .75rem .4375rem .875rem;font-weight:500;display:inline-flex;position:absolute;bottom:1.25rem;left:1.25rem;box-shadow:0 10px 24px -10px #00000080}.project-notes{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1rem;margin-top:1.5rem;display:grid}.project-note{height:100%;color:inherit;background:var(--card,var(--background));border:1px solid var(--border);border-radius:14px;gap:.375rem;padding:1.25rem;text-decoration:none;transition:border-color .2s;display:grid}.project-note:hover,.project-note:focus-visible{border-color:var(--foreground)}.project-note .entry-title{align-items:center;gap:.375rem;display:inline-flex}.project-note-result{font-size:var(--text-sm);color:var(--muted-foreground)}@media (hover:hover){.product-chip{opacity:0;transform:translateY(6px)}.product-card:hover .product-chip,.product-card:focus-visible .product-chip{opacity:1;transform:none}}.pages{columns:1;column-gap:1rem}@media (min-width:40rem){.pages{columns:2}}@media (min-width:60rem){.pages{columns:3}}.pages li{break-inside:avoid;margin-bottom:1rem}.page-card{box-shadow:0 0 0 1px var(--border), 0 14px 30px -20px #0006;transition:transform .42s var(--spring), box-shadow .3s ease;border-radius:1rem;display:block;position:relative;overflow:hidden}.page-card:hover{box-shadow:0 0 0 1px var(--border-strong), 0 26px 50px -24px #00000080;transform:translateY(-4px)rotate(-.4deg)}.page-frame{max-height:22rem;display:block;overflow:hidden}.page-frame .shot{box-shadow:none;transition:transform 2.4s var(--ease-out);border-radius:0}.page-card:hover .page-frame .shot{transform:translateY(min(0px,22rem - 100%))}.page-corner{width:1.875rem;height:1.875rem;color:var(--foreground);background:var(--background);place-items:center;display:grid;position:absolute;top:.625rem;right:.625rem}@supports (color:color-mix(in lab, red, red)){.page-corner{background:color-mix(in srgb, var(--background) 82%, transparent)}}.page-corner{backdrop-filter:blur(10px);opacity:0;transition:opacity .2s ease, transform .32s var(--spring);border-radius:50%;transform:scale(.8)}.page-card:hover .page-corner{opacity:1;transform:none}.posts{margin-inline:-.75rem}.post-row{border-radius:.875rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.875rem .75rem;transition:background-color .16s;display:grid}.post-row:hover{background:var(--muted)}.post-main{gap:.125rem;display:grid}.post-date{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--muted-foreground);white-space:nowrap}.post-arrow{display:none}.post-meta{font-size:var(--text-sm);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1.5rem;display:flex}.post-meta .portrait{margin-right:-.5rem}.post-body{font-size:1.0625rem;line-height:1.75}.post-body p+p{margin-top:1.125rem}.post-body h2{letter-spacing:-.02em;margin-top:2.5rem;margin-bottom:.75rem;font-size:1.1875rem;font-weight:600}.next-post{border:1px solid var(--border);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:3.5rem;padding:1rem 1.125rem;transition:background-color .16s;display:flex}.next-post>span{display:grid}.next-post:hover{background:var(--muted)}.showcase{display:block;position:relative}.showcase[data-count="2"],.showcase[data-count="3"]{padding:4% 0 14%}.showcase-main{z-index:1;display:block;position:relative}.showcase[data-count="2"] .showcase-main,.showcase[data-count="3"] .showcase-main{width:80%}.showcase-back,.showcase-front{display:block;position:absolute}.showcase-back{z-index:0;opacity:.92;width:40%;top:0;right:0}.showcase-front{z-index:2;width:44%;bottom:0;right:3%}.showcase-back .shot,.showcase-front .shot{aspect-ratio:16/10;object-fit:cover;object-position:top left}.showcase-front .shot{box-shadow:0 0 0 1px var(--foreground), 0 24px 48px -18px #00000073}@supports (color:color-mix(in lab, red, red)){.showcase-front .shot{box-shadow:0 0 0 1px color-mix(in srgb, var(--foreground) 12%, transparent), 0 24px 48px -18px #00000073}}@media (prefers-reduced-motion:no-preference){.showcase-back,.showcase-front{transition:transform .7s var(--ease-out)}.tile-link:hover .showcase-back{transform:translate(3%,-4%)}.tile-link:hover .showcase-front{transform:translate(2%,3%)}}[data-spotlight]{isolation:isolate;position:relative}@media (hover:hover) and (pointer:fine){[data-spotlight]:before,[data-spotlight]:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;position:absolute;inset:0}[data-spotlight]:before{z-index:-1;background:radial-gradient(22rem circle at var(--mx,50%) var(--my,50%), var(--foreground), transparent 60%)}@supports (color:color-mix(in lab, red, red)){[data-spotlight]:before{background:radial-gradient(22rem circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--foreground) 6%, transparent), transparent 60%)}}[data-spotlight]:after{z-index:2;background:radial-gradient(14rem circle at var(--mx,50%) var(--my,50%), var(--foreground), transparent 70%);padding:1px}@supports (color:color-mix(in lab, red, red)){[data-spotlight]:after{background:radial-gradient(14rem circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--foreground) 38%, transparent), transparent 70%)}}[data-spotlight]:after{-webkit-mask-composite:xor;-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}[data-spotlight]:hover:before,[data-spotlight]:hover:after{opacity:1}}.creds{gap:1.75rem;display:grid}.cred-label{font-size:var(--text-sm);color:var(--muted-foreground);margin-bottom:.5rem;font-weight:400}.cred-empty{font-size:var(--text-sm);color:var(--muted-foreground)}.reading-progress{z-index:60;background:var(--foreground);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.post-toc{margin-bottom:2.5rem}.post-toc ol{counter-reset:toc;flex-wrap:wrap;gap:.375rem;display:flex}.post-toc a{font-size:var(--text-sm);color:var(--muted-foreground);background:var(--muted);border-radius:999px;align-items:center;gap:.4375rem;padding:.3125rem .75rem .3125rem .375rem;transition:color .16s;display:inline-flex}.post-toc a:before{counter-increment:toc;content:counter(toc);width:1.25rem;height:1.25rem;font-size:var(--text-xs);font-variant-numeric:tabular-nums;background:var(--background);border-radius:50%;place-items:center;display:grid}.post-toc a:hover{color:var(--foreground)}.post-body h2{scroll-margin-top:5rem}.post-body>*+*{margin-top:1.125rem}.post-body>h2{margin-top:2.75rem}.post-body>figure,.post-body>.note,.post-body>.diagram{margin-block:1.75rem}.post-figure figcaption,.code figcaption{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:.75rem;line-height:1.5}.note{font-size:var(--text-base);background:var(--muted);border-radius:1rem;padding:1rem 1.125rem 1rem 1.25rem;position:relative}.note:before{content:"";background:var(--foreground);border-radius:0 3px 3px 0;width:3px;position:absolute;top:1rem;bottom:1rem;left:0}.note-title{font-size:var(--text-sm);margin-bottom:.25rem;font-weight:600}.post-list{gap:.5rem;padding-left:.25rem;display:grid}.post-list li{padding-left:1.25rem;position:relative}.post-list li:before{content:"";background:var(--foreground);border-radius:50%;width:.375rem;height:.375rem;position:absolute;top:.7em;left:.125rem}.post-list-ordered{counter-reset:item}.post-list-ordered li{padding-left:2rem}.post-list-ordered li:before{counter-increment:item;content:counter(item);width:1.375rem;height:1.375rem;font-size:var(--text-xs);color:var(--background);border-radius:.4375rem;place-items:center;font-weight:600;display:grid;top:.2em;left:0}.code{box-shadow:0 0 0 1px var(--foreground), 0 18px 40px -24px #00000080;background:#111;border-radius:1rem;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.code{box-shadow:0 0 0 1px color-mix(in srgb, var(--foreground) 10%, transparent), 0 18px 40px -24px #00000080}}.code-bar{color:#a3a39e;border-bottom:1px solid #262626;justify-content:space-between;align-items:center;padding:.375rem .375rem .375rem 1rem;display:flex}.code-lang{font-family:var(--font-family-mono);font-size:var(--text-xs)}.code-bar .copy-btn{color:#a3a39e}.code-bar .copy-btn:hover{color:#fafafa;background:#262626}.code pre{font-family:var(--font-family-mono);color:#ededeb;tab-size:2;padding:1rem 1.125rem 1.125rem;font-size:.8125rem;line-height:1.7;overflow-x:auto}.code figcaption{color:#a3a39e;background:#0b0b0b;border-top:1px solid #262626;margin:0;padding:.75rem 1rem}.sound-btn:hover{transform:none}.sound-btn[aria-pressed=true]{color:var(--foreground)}@media (prefers-reduced-motion:no-preference){.sound-btn[aria-pressed=true] .sound-wave{animation:1.6s ease-in-out infinite sound-wave}.sound-btn[aria-pressed=true] .sound-wave-2{animation-delay:.2s}}@keyframes sound-wave{50%{opacity:.3}}.spotify{border-radius:12px;height:152px;position:relative;overflow:hidden;box-shadow:0 18px 40px -24px #00000080}.spotify-frame{opacity:0;border:0;transition:opacity .4s;display:block;position:absolute;inset:0}.spotify[data-loaded=true] .spotify-frame{opacity:1}.spotify-card{color:#fff;font-family:"Circular", var(--font-family-sans,system-ui), sans-serif;background:linear-gradient(135deg,#5a5048,#2b2724 70%);gap:1rem;padding:1rem;display:flex;position:absolute;inset:0}.spotify-cover{background:radial-gradient(circle at 30% 30%,#8a8178,#0000 60%),linear-gradient(160deg,#6d655d,#1f1c1a);border-radius:8px;flex:none;width:120px;height:120px;overflow:hidden;box-shadow:0 8px 24px #0006}.spotify-cover img{object-fit:cover;width:100%;height:100%;display:block}.spotify-text{align-content:start;gap:.125rem;min-width:0;padding-top:.25rem;display:grid}.spotify-title{letter-spacing:-.01em;font-size:1.125rem;font-weight:700}.spotify-artist{color:#ffffffb3;font-size:.875rem}.spotify-preview{background:#0000004d;border-radius:4px;width:fit-content;margin-top:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.spotify-logo{position:absolute;top:1rem;right:1rem}.spotify-play{color:#000;cursor:pointer;width:2.5rem;height:2.5rem;transition:transform .2s var(--spring);background:#fff;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:1rem;right:1rem}.spotify-play:hover,.spotify-play:focus-visible{transform:scale(1.06)}.about-music{margin-top:1.75rem}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}@property --beam{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes beam{to{--beam:360deg}}:root{--background:#fdfdfc;--foreground:#171717;--card:#fff;--card-foreground:#171717;--popover:#fff;--popover-foreground:#171717;--primary:#171717;--primary-foreground:#fdfdfc;--secondary:#f3f3f1;--secondary-foreground:#171717;--muted:#f3f3f1;--muted-foreground:#6b6b68;--accent:#f3f3f1;--accent-foreground:#171717;--brand:#171717;--cursor-blue:#171717;--illustration:#9a9a96;--border:#ebebe8;--border-strong:#d8d8d4;--input:#ebebe8;--ring:#171717;--radius:.5rem;--font-family-sans:var(--font-geist-sans,"Geist"), "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-mono:var(--font-geist-mono,"Geist Mono"), ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--column:36rem;--measure:36rem;--gutter:1.25rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.2, 1.5, .4, 1);--cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 2.8v17.4l4.9-4.6h7.1L4.5 2.8z' fill='%23171717' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3;--cursor-pointer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9 3.2c.9 0 1.6.7 1.6 1.6v5.4l.4-.1c.9-.2 1.7.2 2 1l.3-.1c.9-.2 1.8.3 2 1.1l.3 0c.9-.1 1.7.5 1.8 1.4.2 1.4.2 3.1-.3 4.6-.6 1.9-2.2 3-4.4 3h-1.6c-1.5 0-2.8-.7-3.6-1.9L4.6 15c-.5-.8-.3-1.8.5-2.3.7-.4 1.6-.3 2.1.3l.2.2V4.8c0-.9.7-1.6 1.6-1.6z' fill='%23171717' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 9 3;--cursor-text:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 3.5h7M8.5 20.5h7M12 3.5v17' fill='none' stroke='white' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M8.5 3.5h7M8.5 20.5h7M12 3.5v17' fill='none' stroke='%23171717' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 12 12;--cursor-grab:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 9.2V6.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4V9 5c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v4-3c0-.8.6-1.4 1.4-1.4S17 5.2 17 6v4.2-1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v5.7c0 3.6-2.5 6-5.8 6h-1.4c-1.7 0-3.2-.8-4.2-2.2l-3.2-4.6c-.5-.7-.3-1.7.4-2.1.7-.4 1.5-.3 2 .3l.6.8V9.2z' fill='%23171717' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12;--cursor-grabbing:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 11.2V9.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v-.8c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v.4c0-.8.6-1.4 1.4-1.4S17 8.4 17 9.2v1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v4.3c0 3.6-2.5 6-5.8 6h-1.4c-1.7 0-3.2-.8-4.2-2.2l-2.5-3.6c-.5-.7-.3-1.6.4-2 .7-.4 1.5-.2 2 .4l.1.1v-1.7z' fill='%23171717' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12;--cursor-crosshair:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v7M12 14v7M3 12h7M14 12h7' fill='none' stroke='white' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M12 3v7M12 14v7M3 12h7M14 12h7' fill='none' stroke='%23171717' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='12' r='1.4' fill='%23171717' stroke='white'/%3E%3C/svg%3E") 12 12;--cursor-zoom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.2' fill='%23171717' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M15 15l5.2 5.2' stroke='white' stroke-width='4.4' stroke-linecap='round'/%3E%3Cpath d='M15 15l5.2 5.2' stroke='%23171717' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M10.5 7.8v5.4M7.8 10.5h5.4' stroke='white' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 10 10;color-scheme:light}:root[data-theme=dark]{--cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 2.8v17.4l4.9-4.6h7.1L4.5 2.8z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3;--cursor-pointer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9 3.2c.9 0 1.6.7 1.6 1.6v5.4l.4-.1c.9-.2 1.7.2 2 1l.3-.1c.9-.2 1.8.3 2 1.1l.3 0c.9-.1 1.7.5 1.8 1.4.2 1.4.2 3.1-.3 4.6-.6 1.9-2.2 3-4.4 3h-1.6c-1.5 0-2.8-.7-3.6-1.9L4.6 15c-.5-.8-.3-1.8.5-2.3.7-.4 1.6-.3 2.1.3l.2.2V4.8c0-.9.7-1.6 1.6-1.6z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 9 3;--cursor-text:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 3.5h7M8.5 20.5h7M12 3.5v17' fill='none' stroke='%23171717' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M8.5 3.5h7M8.5 20.5h7M12 3.5v17' fill='none' stroke='%23f5f5f4' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 12 12;--cursor-grab:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 9.2V6.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4V9 5c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v4-3c0-.8.6-1.4 1.4-1.4S17 5.2 17 6v4.2-1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v5.7c0 3.6-2.5 6-5.8 6h-1.4c-1.7 0-3.2-.8-4.2-2.2l-3.2-4.6c-.5-.7-.3-1.7.4-2.1.7-.4 1.5-.3 2 .3l.6.8V9.2z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12;--cursor-grabbing:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 11.2V9.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v-.8c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v.4c0-.8.6-1.4 1.4-1.4S17 8.4 17 9.2v1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v4.3c0 3.6-2.5 6-5.8 6h-1.4c-1.7 0-3.2-.8-4.2-2.2l-2.5-3.6c-.5-.7-.3-1.6.4-2 .7-.4 1.5-.2 2 .4l.1.1v-1.7z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12;--cursor-crosshair:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v7M12 14v7M3 12h7M14 12h7' fill='none' stroke='%23171717' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M12 3v7M12 14v7M3 12h7M14 12h7' fill='none' stroke='%23f5f5f4' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='12' r='1.4' fill='%23f5f5f4' stroke='%23171717'/%3E%3C/svg%3E") 12 12;--cursor-zoom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.2' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M15 15l5.2 5.2' stroke='%23171717' stroke-width='4.4' stroke-linecap='round'/%3E%3Cpath d='M15 15l5.2 5.2' stroke='%23f5f5f4' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M10.5 7.8v5.4M7.8 10.5h5.4' stroke='%23171717' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 10 10;--background:#121211;--foreground:#ededeb;--card:#1a1a19;--card-foreground:#ededeb;--popover:#1c1c1b;--popover-foreground:#ededeb;--primary:#ededeb;--primary-foreground:#121211;--secondary:#1e1e1d;--secondary-foreground:#ededeb;--muted:#1e1e1d;--muted-foreground:#a3a39e;--accent:#1e1e1d;--accent-foreground:#ededeb;--brand:#ededeb;--cursor-blue:#ededeb;--illustration:#7c7c78;--border:#272725;--border-strong:#3a3a37;--input:#272725;--ring:#ededeb;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 2.8v17.4l4.9-4.6h7.1L4.5 2.8z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3;--cursor-pointer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9 3.2c.9 0 1.6.7 1.6 1.6v5.4l.4-.1c.9-.2 1.7.2 2 1l.3-.1c.9-.2 1.8.3 2 1.1l.3 0c.9-.1 1.7.5 1.8 1.4.2 1.4.2 3.1-.3 4.6-.6 1.9-2.2 3-4.4 3h-1.6c-1.5 0-2.8-.7-3.6-1.9L4.6 15c-.5-.8-.3-1.8.5-2.3.7-.4 1.6-.3 2.1.3l.2.2V4.8c0-.9.7-1.6 1.6-1.6z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 9 3;--cursor-text:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 3.5h7M8.5 20.5h7M12 3.5v17' fill='none' stroke='%23171717' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M8.5 3.5h7M8.5 20.5h7M12 3.5v17' fill='none' stroke='%23f5f5f4' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 12 12;--cursor-grab:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 9.2V6.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4V9 5c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v4-3c0-.8.6-1.4 1.4-1.4S17 5.2 17 6v4.2-1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v5.7c0 3.6-2.5 6-5.8 6h-1.4c-1.7 0-3.2-.8-4.2-2.2l-3.2-4.6c-.5-.7-.3-1.7.4-2.1.7-.4 1.5-.3 2 .3l.6.8V9.2z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12;--cursor-grabbing:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 11.2V9.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v-.8c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v.4c0-.8.6-1.4 1.4-1.4S17 8.4 17 9.2v1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v4.3c0 3.6-2.5 6-5.8 6h-1.4c-1.7 0-3.2-.8-4.2-2.2l-2.5-3.6c-.5-.7-.3-1.6.4-2 .7-.4 1.5-.2 2 .4l.1.1v-1.7z' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12;--cursor-crosshair:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v7M12 14v7M3 12h7M14 12h7' fill='none' stroke='%23171717' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M12 3v7M12 14v7M3 12h7M14 12h7' fill='none' stroke='%23f5f5f4' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='12' r='1.4' fill='%23f5f5f4' stroke='%23171717'/%3E%3C/svg%3E") 12 12;--cursor-zoom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.2' fill='%23f5f5f4' stroke='%23171717' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M15 15l5.2 5.2' stroke='%23171717' stroke-width='4.4' stroke-linecap='round'/%3E%3Cpath d='M15 15l5.2 5.2' stroke='%23f5f5f4' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M10.5 7.8v5.4M7.8 10.5h5.4' stroke='%23171717' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 10 10;--background:#121211;--foreground:#ededeb;--card:#1a1a19;--card-foreground:#ededeb;--popover:#1c1c1b;--popover-foreground:#ededeb;--primary:#ededeb;--primary-foreground:#121211;--secondary:#1e1e1d;--secondary-foreground:#ededeb;--muted:#1e1e1d;--muted-foreground:#a3a39e;--accent:#1e1e1d;--accent-foreground:#ededeb;--brand:#ededeb;--cursor-blue:#ededeb;--illustration:#7c7c78;--border:#272725;--border-strong:#3a3a37;--input:#272725;--ring:#ededeb;color-scheme:dark}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (hover:hover) and (pointer:fine){html{cursor:var(--cursor), auto}:where(p,li,h1,h2,h3,dd,figcaption,blockquote,pre,code,time){cursor:var(--cursor-text), text}:where(a,button,summary,label,select,[role=option],[role=tab],[data-cursor]),:where(a,button,summary,[role=tab]) *{cursor:var(--cursor-pointer), pointer}input[type=text],input[type=search],textarea{cursor:var(--cursor-text), text}.marquee,.marquee *{cursor:var(--cursor-grab), grab}.marquee:active,.marquee:active *{cursor:var(--cursor-grabbing), grabbing}.marquee a,.marquee a *{cursor:var(--cursor-pointer), pointer}.dither,.dither-canvas{cursor:var(--cursor-crosshair), crosshair}.dither-body{cursor:var(--cursor-pointer), pointer}.screens .stage,.screens .stage *,.closeup-frame,.closeup-frame *,.post-figure img{cursor:var(--cursor-zoom), zoom-in}}::view-transition-old(root){animation:none}::view-transition-new(root){animation:.62s cubic-bezier(.3,0,.1,1) theme-open}@keyframes theme-open{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0))}to{clip-path:circle(150vmax at var(--vt-x,50%) var(--vt-y,0))}}@media (prefers-reduced-motion:no-preference){.route>*{animation:route-in .62s var(--ease-out) both}.route>:nth-child(2){animation-delay:70ms}.route>:nth-child(n+3){animation-delay:.14s}@keyframes route-in{0%{transform:translateY(14px)}}[data-reveal]{transition:opacity .7s var(--ease-out), transform .8s var(--ease-out), filter .7s var(--ease-out);transition-delay:calc(var(--ri,0) * 60ms)}[data-reveal]:not([data-in]){opacity:0;filter:blur(3px);transform:translateY(18px)}.timeline:before{transform-origin:top;animation:draw 1.4s var(--ease-out) both .2s}@keyframes draw{0%{transform:scaleY(0)}}.tl-item[data-current] .tl-dot{animation:2.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--foreground) 28%, transparent)}70%,to{box-shadow:0 0 0 10px #0000}}.inline-link,.quiet-link{transition:background-size .38s var(--ease-out), color .16s ease, text-decoration-color .16s ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.inline-link:hover,.quiet-link:hover{background-size:100% 1px;text-decoration-color:#0000}[data-magnetic]{translate:var(--mx-pull,0) var(--my-pull,0);transition:translate .26s var(--ease-out), transform .4s var(--spring), color .14s ease, box-shadow .26s var(--ease-out)}.shot{animation:shot-in .9s var(--ease-out) both}@keyframes shot-in{0%{filter:blur(8px)saturate(.6)}}.letter{animation:letter-in .72s var(--ease-out) both;animation-delay:calc(80ms + var(--i) * 28ms)}@keyframes letter-in{0%{opacity:.01;filter:blur(4px);transform:translateY(.35em)}}.cmd[open] .cmd-panel{animation:cmd-in .18s var(--ease-out)}@keyframes cmd-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}}@supports (animation-timeline:view()){.tile,.case-section,.closeups>li{animation:linear both settle view();animation-range:entry entry 45%}@keyframes settle{0%{transform:translateY(26px)scale(.98)}}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.topbar,.cursor-tag,.dither{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}}
