/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-mono:var(--font-mono);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-900:oklch(21.6% .006 56.043);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-cst);--default-mono-font-family:var(--font-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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.collapse{visibility:collapse}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.shrink{flex-shrink:1}.grow{flex-grow:1}.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}.type-page-title{--tw-leading:112%;--tw-font-weight:var(--font-weight-normal);font-size:34px;line-height:112%;font-weight:var(--font-weight-normal)}@media (width>=64rem){.type-page-title{font-size:43px}}@media (width>=80rem){.type-page-title{font-size:51px}}@media (width>=96rem){.type-page-title{font-size:56px}}.type-footer-link{--tw-leading:1.1;--tw-tracking:-.01em;letter-spacing:-.01em;font-size:28px;line-height:1.1}@media (width>=48rem){.type-footer-link{font-size:36px}}.type-image-caption{--tw-leading:112%;font-size:13px;line-height:112%}@media (width>=48rem){.type-image-caption{font-size:14px}}@media (width>=80rem){.type-image-caption{font-size:16px}}@media (width>=96rem){.type-image-caption{font-size:18px}}.type-image-caption{color:var(--caption)}.type-card-meta-title{--tw-leading:1.12;color:var(--label);font-size:17px;line-height:1.12}.type-lead{--tw-leading:111.4%;font-size:20px;line-height:111.4%}@media (width>=48rem){.type-lead{font-size:23px}}@media (width>=80rem){.type-lead{font-size:26px}}@media (width>=96rem){.type-lead{font-size:28px}}.type-card-body,.type-card-title{--tw-leading:1.12;font-size:17px;line-height:1.12}.type-contacts{--tw-leading:21px;font-size:18px;line-height:21px}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}.markdown-body .image-comparison{gap:24px;margin:0;display:grid;position:relative}.markdown-body .image-comparison>figure[data-media-kind]{min-width:0;margin:0}.image-comparison .comparison-divider{display:none}.markdown-body .image-comparison[data-comparison-ready]{isolation:isolate;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;cursor:ew-resize;gap:0}.image-comparison[data-comparison-ready]>figure{grid-area:1/1}.image-comparison[data-comparison-ready]>figure:first-child{z-index:1;clip-path:inset(0 calc(100% - var(--comparison-position,50%)) 0 0)}.markdown-body .image-comparison[data-comparison-ready]>figure>figcaption{clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-comparison .comparison-range{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.image-comparison:not([data-comparison-pointer]):has(.comparison-range:focus-visible){outline:2px solid var(--text-strong);outline-offset:5px}.image-comparison[data-comparison-ready] .comparison-divider{z-index:2;pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden}.comparison-divider:before{top:0;bottom:0;left:var(--comparison-position,50%);content:"";background:#fff;width:2px;position:absolute;transform:translate(-50%)}.comparison-divider:after{top:50%;left:var(--comparison-position,50%);color:#222;content:"↔";background:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font:18px/1 sans-serif;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 6px #0000002e}@font-face{font-family:CST;src:url(/fonts/CST-Regular.woff2?v=1.300)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:CST;src:url(/fonts/CST-Medium.woff2?v=1.300)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:CST;src:url(/fonts/CST-Italic.woff2?v=1.300)format("woff2");font-style:italic;font-weight:400;font-display:swap}:root{color-scheme:light dark;--font-cst:CST, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--bg:#f5f5f5;--bg-gradient:#e8e8e8;--bg-gradient-fade:#e8e8e800;--surface:#fff;--nav-surface:#fff;--nav-shadow:#0000000d;--text:#111;--text-strong:#000;--muted:#686868;--label:#686868;--caption:#686868;--nav-link:#767676;--nav-icon:#8a8a8a;--toc-label:#686868;--toc-bar:#858585;--toc-plate:var(--bg);--line:#d9d9d9;--rule:#dadada;--selection:#c8c8c8;--marker-bg:#d4d4d4;--highlight:#d2d2d299;--highlight-active:#000;--highlight-active-text:#fff;--cursor-bg:#000;--cursor-text:#fff;--cursor-icon:#dbdbdb;--cursor-arrow:#000;--logo-surface:#242424;--logo-ink:#fff;--play-disc:#ffffffe6;--play-disc-hover:#fff;--play-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 13'%3E%3Cpath d='M1.25 1.5v10l8.5-5z' fill='%231c1917' stroke='%231c1917' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");--theme-color:var(--bg);--ascent:1.006;--descent:-.294;--cap-height:.712;--x-height:.508;--background:var(--bg);--foreground:var(--text);--card:oklch(100% 0 0);--card-foreground:oklch(14.7% .004 49.25);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.7% .004 49.25);--primary:oklch(21.6% .006 56.043);--primary-foreground:oklch(98.5% .001 106.423);--secondary:var(--label);--secondary-foreground:oklch(21.6% .006 56.043);--muted-foreground:var(--caption);--accent:oklch(96.9% .002 106.42);--accent-foreground:oklch(21.6% .006 56.043);--destructive:oklch(70.5% .191 22.216);--destructive-foreground:oklch(98.5% .001 106.423);--border:oklch(92.3% .003 106.42);--input:oklch(92.3% .003 106.42);--ring:oklch(14.7% .004 49.25);--radius:.6rem;--cap-top:0px;--frame-margin:16px;--content-top:104px;--nav-frame:92px;--gutter:36px;--main-left:var(--frame-margin);--flow-gap:52px;--hero-gap:24px;--gallery-height:224px;--ease-in-cubic:cubic-bezier(.32, 0, .67, 0);--ease-out-cubic:cubic-bezier(.33, 1, .68, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out-quart:linear(0 0%, 0 2.5%, .0001 5%, .0003 7.5%, .0008 10%, .002 12.5%, .004 15%, .0075 17.5%, .0128 20%, .0205 22.5%, .0313 25%, .0458 27.5%, .0648 30%, .0893 32.5%, .12 35%, .1582 37.5%, .2048 40%, .261 42.5%, .3281 45%, .4073 47.5%, .5 50%, .5927 52.5%, .672 55%, .739 57.5%, .7952 60%, .8418 62.5%, .88 65%, .9107 67.5%, .9352 70%, .9542 72.5%, .9688 75%, .9795 77.5%, .9872 80%, .9925 82.5%, .996 85%, .998 87.5%, .9992 90%, .9997 92.5%, 1 95%, 1 97.5%, 1 100%);--ease-css:ease;--ease-toc:cubic-bezier(.22, 1, .36, 1);--ease-std:cubic-bezier(.4, 0, .2, 1);--dur-page-out:.28s;--dur-page-in:.4s;--dur-swap:.35s;--dur-header-swap:.2s;--dur-type-in:.9s;--dur-type-out:.35s;--dur-morph:.7s;--dur-morph-wait:.22s;--dur-land:.25s;--dur-title-in:.4s;--dur-intro-type:.7s;--dur-intro-wait:50ms;--dur-enter-nav-home:.7s;--dur-enter-nav-work:.6s;--dur-enter-text:.6s;--dur-enter-card:.55s;--dur-cursor-show:.13s;--dur-cursor-hide:.1s;--dur-cursor-grace:90ms;--dur-cursor-type:.325s;--dur-cursor-erase:.13s;--dur-cursor-width:.455s;--dur-cursor-arrow:.25s;--dur-note:.3s;--dur-theme:.3s;--dur-link:.2s}@media (prefers-color-scheme:dark){:root:not(:where([data-theme=light],[data-theme=light] *)){--bg:#171717;--bg-gradient:#212121;--bg-gradient-fade:#21212100;--surface:#242424;--nav-surface:#000;--nav-shadow:#0000;--text:#ececec;--text-strong:#fff;--muted:#9a9a9a;--label:#888;--caption:#949494;--nav-link:#9a9a9a;--nav-icon:#757575;--toc-label:#9a9a9a;--toc-bar:#6b6b6b;--line:#3a3a3a;--rule:#303030;--selection:#3f3f3f;--marker-bg:#3d3d3d;--highlight:#8c8c8c66;--highlight-active:#d6d6d6;--highlight-active-text:#1a1a1a;--logo-surface:#dbdbdb;--logo-ink:#000;--play-disc:#000000e6;--play-disc-hover:#000;--play-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 13'%3E%3Cpath d='M1.25 1.5v10l8.5-5z' fill='white' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}}:root:where([data-theme=dark],[data-theme=dark] *){--bg:#171717;--bg-gradient:#212121;--bg-gradient-fade:#21212100;--surface:#242424;--nav-surface:#000;--nav-shadow:#0000;--text:#ececec;--text-strong:#fff;--muted:#9a9a9a;--label:#888;--caption:#949494;--nav-link:#9a9a9a;--nav-icon:#757575;--toc-label:#9a9a9a;--toc-bar:#6b6b6b;--line:#3a3a3a;--rule:#303030;--selection:#3f3f3f;--marker-bg:#3d3d3d;--highlight:#8c8c8c66;--highlight-active:#d6d6d6;--highlight-active-text:#1a1a1a;--logo-surface:#dbdbdb;--logo-ink:#000;--play-disc:#000000e6;--play-disc-hover:#000;--play-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 13'%3E%3Cpath d='M1.25 1.5v10l8.5-5z' fill='white' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html{font-family:var(--font-cst);font-synthesis-weight:none;scroll-padding-top:var(--content-top)}html:has(dialog[open]){overflow:hidden}body{min-height:100svh;padding:var(--content-top) var(--frame-margin) calc(5rem + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (hover:hover) and (pointer:fine){body{overflow-x:clip}body:before{content:"";z-index:-1;background:linear-gradient(var(--bg-gradient), var(--bg-gradient-fade));pointer-events:none;height:300px;position:fixed;inset:0 0 auto}}@media not all and (hover:hover) and (pointer:fine){body{background:var(--bg)}html:has(.mobile-menu[open]) body{background-color:var(--nav-surface)}html:has(.image-viewer[open]) body{background-color:#111}}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}:focus-visible{outline-offset:5px;outline:2px solid}.skip-link{left:var(--frame-margin);z-index:100;background:var(--nav-surface);color:var(--text-strong);padding:12px;position:fixed;top:-100px}.skip-link:focus{top:12px}.site-header{z-index:40;height:var(--nav-frame);padding:0 var(--frame-margin);background:linear-gradient(var(--bg-gradient), var(--bg-gradient-fade)) 0 0 / 100% 300px no-repeat var(--bg);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}@media not all and (hover:hover) and (pointer:fine){.site-header{background:linear-gradient(var(--bg), var(--bg))}.js .site-header{top:calc((var(--nav-frame) - 44px) / 2);background:0 0;height:44px}.js .menu-trigger{top:0}}.site-logo{z-index:1;display:block;position:relative}.site-logo svg{width:106px;height:36px;display:block}.desktop-navigation{--tw-leading:1.114;--tw-font-weight:var(--font-weight-medium);font-size:19px;line-height:1.114;font-weight:var(--font-weight-medium);background:var(--nav-surface);height:48px;box-shadow:0 0 15px 0 var(--nav-shadow);color:var(--nav-link);align-items:center;gap:32px;padding:0 40px;display:none}.desktop-navigation a,.locale-switch{align-items:center;height:100%;display:flex}.desktop-navigation a:is(:hover,[aria-current]){color:var(--text-strong)}.locale-switch{gap:6px}.theme-toggle{width:19px;height:19px;color:var(--nav-icon);visibility:hidden;background:linear-gradient(90deg,#0000 50%,currentColor 0) border-box;border:2.5px solid;border-radius:50%;flex-shrink:0;position:relative}.theme-toggle:after{content:"";position:absolute;inset:-12.5px}.theme-toggle:hover{color:var(--text-strong)}[data-enhanced~=shell] .theme-toggle{visibility:visible}.menu-trigger{top:calc((var(--nav-frame) - 44px) / 2);right:calc(var(--frame-margin) - 4px);place-items:center;min-width:44px;min-height:44px;padding:4px;display:none;position:absolute}:is(.menu-trigger,.dialog-close) circle{fill:var(--logo-surface)}:is(.menu-trigger,.dialog-close) path{fill:none;stroke:var(--logo-ink);stroke-width:2px}[data-enhanced~=shell] .menu-trigger{display:grid}.no-script-navigation{flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;margin-left:12px;font-size:18px;display:flex}[data-enhanced~=shell] .no-script-navigation{display:none}@media (width<=1023px){[data-enhanced~=shell][data-reader-chrome] .site-header{pointer-events:none;background:0 0}[data-enhanced~=shell][data-reader-chrome] .site-header>*{pointer-events:auto}[data-enhanced~=shell][data-reader-chrome=hidden] .site-header:not(:has(:focus-visible)){opacity:0}[data-enhanced~=shell][data-reader-chrome=hidden] .site-header:not(:has(:focus-visible)),[data-enhanced~=shell][data-reader-chrome=hidden] .site-header:not(:has(:focus-visible))>*{pointer-events:none}}.site-sidebar{--tw-leading:1.114;margin-bottom:var(--gutter);overflow-wrap:break-word;flex-direction:column;font-size:21px;line-height:1.114;display:flex}.sidebar-description{flex-direction:column;gap:23px;display:flex}.sidebar-metadata,.sidebar-metadata>div{flex-direction:column;gap:16px;display:flex}.sidebar-metadata>div{gap:2px}.sidebar-metadata dt{color:var(--label)}.sidebar-description>:first-child,.sidebar-metadata>:first-child>dt{margin-block-start:calc(var(--cap-top) - (1lh - 1.3em) / 2 - .294em)}@supports (text-box:trim-start cap alphabetic){html:not([data-trim=off]) :is(.sidebar-description>:first-child,.sidebar-metadata>:first-child>dt){text-box:trim-start cap alphabetic;margin-block-start:var(--cap-top)}}.site-contacts{--tw-leading:21px;margin-top:var(--gutter);color:var(--muted);overflow-wrap:break-word;font-size:18px;line-height:21px}.site-contacts p{text-transform:uppercase;margin-bottom:4px}.site-contacts a{padding-block:1.5px;display:block}.site-contacts a:hover{color:var(--text)}.site-contacts:has(:focus-visible){z-index:2;background:linear-gradient(var(--bg-gradient), var(--bg-gradient-fade)) 0 0 / 100% 300px no-repeat fixed var(--bg);box-shadow:0 0 0 8px var(--bg)}.site-main{min-width:0;display:flow-root}.site-main:focus{outline:none}.work-grid{grid-template-columns:minmax(0,1fr);gap:60px 8px;display:grid}.work-card{min-width:0;position:relative}.work-card>a{flex-direction:column;height:100%;display:flex}.card-cover{background:var(--surface);aspect-ratio:1;position:relative;overflow:hidden}.card-cover-inner{position:absolute;inset:0}.card-cover img,.card-cover picture,.card-cover video{object-fit:cover;width:100%;height:100%;display:block}.card-cover video{opacity:0;position:absolute;inset:0}.cover-playing .card-cover video{opacity:1}.card-content,.card-summary,.card-metadata{align-content:start;row-gap:16px;min-width:0;display:grid}.card-content{flex:1;padding:14px 0 28px}.card-heading,.card-metadata>div{flex-direction:column;gap:2px;display:flex}.card-summary h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:400;display:-webkit-box;overflow:hidden}.card-metadata>div{overflow-wrap:anywhere;min-width:0}.card-cursor{z-index:41;background:var(--cursor-bg);max-width:calc(100vw - 16px);height:40px;color:var(--cursor-text);white-space:nowrap;pointer-events:none;transform-origin:0;align-items:center;gap:9px;padding:0 12px;font-size:16px;line-height:1;display:none;position:fixed;top:0;left:0}.card-cursor-label{min-width:0;overflow:hidden}.card-cursor-arrow{background:var(--cursor-icon);width:16px;height:16px;color:var(--cursor-arrow);text-align:center;border-radius:50%;flex:none}.work-article{max-width:576px;padding:24px 24px 0}.work-article>h1,.work-article>header>h1{margin-bottom:24px}.work-article>header>.type-lead{margin-bottom:32px}.work-footer{margin-top:180px}.work-footer-navigation{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.work-footer-navigation a:hover{opacity:.5}.site-copyright{color:var(--muted);padding-bottom:24px}.work-footer .site-copyright{margin-top:16px;padding:0}.page-home .site-main>footer .site-copyright{padding:16px 0}dialog{max-width:none;max-height:none}dialog::backdrop{background:#000c}.mobile-menu::backdrop,.image-viewer::backdrop{background:0 0}.mobile-menu{overscroll-behavior:contain;width:100vw;height:100dvh;padding:var(--content-top) var(--frame-margin) calc(24px + env(safe-area-inset-bottom));background:var(--nav-surface);color:var(--nav-link);margin:0;position:fixed;inset:0;overflow-y:auto}.mobile-menu[open]{flex-direction:column;display:flex}.mobile-menu nav{--tw-leading:112%;flex-direction:column;align-items:flex-start;padding-bottom:20px;font-size:40px;line-height:112%;display:flex}.mobile-menu :where(nav) a{padding-block:6px}.mobile-menu :where(nav) a:is(:hover,[aria-current]){color:var(--text-strong)}.dialog-close{right:calc(var(--frame-margin) - 4px);top:calc((var(--nav-frame) - 44px) / 2);place-items:center;width:44px;height:44px;display:grid;position:absolute}.menu-logo{top:calc((var(--nav-frame) - 36px) / 2);left:var(--frame-margin);position:absolute}.menu-logo svg{width:106px;height:36px;display:block}.mobile-settings{--tw-leading:1.114;--tw-font-weight:var(--font-weight-medium);font-size:19px;line-height:1.114;font-weight:var(--font-weight-medium);border-block:1px solid var(--rule);justify-content:space-between;align-items:center;height:56px;margin-top:auto;display:flex}.mobile-settings a{align-items:center;height:100%;display:flex}.mobile-settings a:is(:hover,[aria-current]){color:var(--text-strong)}.mobile-contacts{--tw-leading:21px;color:var(--muted);flex-wrap:wrap;gap:0 16px;padding-top:16px;font-size:18px;line-height:21px;display:flex}.mobile-contacts p{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-contacts a{padding-block:1.5px}.image-viewer{color:#fff;background:#111;width:100vw;height:100dvh;position:fixed;inset:0}.image-viewer[open]{flex-direction:column;display:flex}.markdown-body figure[data-media-kind=video]{position:relative}.video-open{place-items:center;width:44px;height:44px;padding:4px;display:grid;position:absolute;top:4px;right:4px}.video-open circle{fill:#00000080}.video-open path{fill:none;stroke:#fff;stroke-width:2px}@media not all and (hover:hover) and (pointer:fine){.video-open{top:48px}}.image-viewer .dialog-close{z-index:1}.viewer-bottom{padding:12px calc(var(--frame-margin) - 4px) calc(12px + env(safe-area-inset-bottom));flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;display:flex}.image-viewer button{flex-shrink:0;place-items:center;min-width:44px;min-height:44px;padding:4px;display:grid}.image-viewer button circle{fill:#dbdbdb}.image-viewer button path{fill:none;stroke:#000;stroke-width:2px}.viewer-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative;overflow:hidden}.viewer-stage:focus-visible{outline:none}.viewer-stage[data-zoomed]{cursor:grab}.viewer-stage[data-zoomed]:active{cursor:grabbing}.viewer-stage[data-video]{cursor:default}.viewer-stage :is(img,video){transform-origin:0 0;will-change:transform;max-width:none;max-height:none;position:absolute;top:0;left:0}.viewer-caption{text-align:center;color:#ddd;flex:1}.viewer-caption a{text-decoration:underline}.markdown-body{--tw-leading:162%;font-size:16px;line-height:162%}@media (width>=48rem){.markdown-body{--tw-leading:132%;font-size:18.5px;line-height:132%}}@media (width>=64rem){.markdown-body{font-size:22px}}@media (width>=96rem){.markdown-body{font-size:24px}}.markdown-body p{margin:0 0 16px}.markdown-body :is(h2,h3,h4,h5,h6){font-weight:500}.markdown-body h2{--tw-leading:32px;--tw-font-weight:var(--font-weight-medium);font-size:30px;line-height:32px;font-weight:var(--font-weight-medium);margin:var(--flow-gap) 0 20px}.markdown-body h3{margin:var(--flow-gap) 0 16px}.markdown-body h4{margin:24px 0 12px}.markdown-body h5{margin:20px 0 8px}.markdown-body h6{margin:16px 0 8px}.markdown-body a:not([href^=\#user-content-fn-],[data-footnote-backref]){text-underline-offset:2px;text-decoration:underline}.markdown-body a:not([href^=\#user-content-fn-],[data-footnote-backref]):hover{opacity:.6}.markdown-body a:is([href^=http],[href^=mailto\:]):after{content:"";background:currentColor;width:12px;height:12px;margin-left:4px;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 18'%3E%3Cpath d='M0 15.6009L12.6811 2.88919H3.49189L3.52252 0.5H17V13.9775H14.5802V4.81892L1.8991 17.5L0 15.6009Z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 18'%3E%3Cpath d='M0 15.6009L12.6811 2.88919H3.49189L3.52252 0.5H17V13.9775H14.5802V4.81892L1.8991 17.5L0 15.6009Z'/%3E%3C/svg%3E") 50%/contain no-repeat}.markdown-body strong{font-weight:500}.markdown-body del{color:var(--muted)}.markdown-body :is(ul,ol){margin:16px 0;padding-left:24px}.markdown-body ul{list-style:outside}.markdown-body ol{list-style:decimal}.markdown-body li+li{margin-top:8px}.markdown-body blockquote{margin-block:calc(var(--spacing) * 6);border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 6);border-left-width:4px;border-color:var(--line);color:var(--text);font-style:italic}.markdown-body hr{margin-block:calc(var(--spacing) * 8);border-color:var(--line)}.markdown-body table{margin-block:calc(var(--spacing) * 6);border-collapse:collapse;border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);width:100%;display:block;overflow-x:auto}.markdown-body :is(th,td){padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);text-align:left;--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.markdown-body :is(th,tbody tr+tr){border-color:var(--line)}.markdown-body th{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.markdown-body tbody tr+tr{border-top-style:var(--tw-border-style);border-top-width:1px}.markdown-body code{padding-inline:calc(var(--spacing) * 2);--tw-leading:162%;overflow-wrap:break-word;font-size:16px;line-height:162%}@media (width>=40rem){.markdown-body code{padding-inline:calc(var(--spacing) * 1.5);font-size:15px}}@media (width>=48rem){.markdown-body code{--tw-leading:132%;font-size:17px;line-height:132%}}@media (width>=64rem){.markdown-body code{font-size:19px}}@media (width>=96rem){.markdown-body code{font-size:20px}}.markdown-body code{background:var(--surface);color:var(--text);font-family:var(--font-mono)}.markdown-body pre{margin-block:calc(var(--spacing) * 4);background-color:var(--color-stone-900);padding:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);white-space:pre-wrap;color:var(--color-stone-200);overflow-x:auto}@media (width>=40rem){.markdown-body pre{margin-block:calc(var(--spacing) * 6);padding:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.markdown-body pre code{color:inherit;font-size:inherit;line-height:inherit;background-color:#0000;padding:0}.markdown-body figure[data-media-kind]{margin:var(--flow-gap) 0}.markdown-body figure[data-media-kind] :is(img,video),.markdown-body figure [data-lightbox]{width:100%;display:block}.markdown-body figure [data-lightbox]{cursor:default}[data-enhanced~=article] .markdown-body figure [data-lightbox]{cursor:zoom-in}.markdown-body figcaption{--tw-leading:112%;font-size:13px;line-height:112%}@media (width>=48rem){.markdown-body figcaption{font-size:14px}}@media (width>=80rem){.markdown-body figcaption{font-size:16px}}@media (width>=96rem){.markdown-body figcaption{font-size:18px}}.markdown-body figcaption{color:var(--caption);margin:12px 0 0}.markdown-body figcaption:empty,[data-note-toggle]{display:none}.markdown-body figure iframe{aspect-ratio:16/9;width:100%}.page-longread .markdown-body{--bleed:var(--main-left)}.markdown-body figure:is([data-media-layout=hero],[data-media-layout=fullwidth]),.markdown-body [data-gallery]{width:100vw;margin-left:calc(-1 * var(--bleed))}.markdown-body figure[data-media-layout=hero]{margin-top:var(--hero-gap)}.markdown-body [data-gallery]{scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:var(--flow-gap);margin-bottom:var(--flow-gap);gap:8px;display:flex;overflow-x:auto}.markdown-body .gallery-shell [data-gallery]{margin-bottom:0}.markdown-body [data-gallery]::-webkit-scrollbar{display:none}[data-enhanced~=article] .markdown-body [data-gallery][data-dragging]{scroll-snap-type:none;-webkit-user-select:none;user-select:none}[data-enhanced~=article] .markdown-body [data-gallery][data-dragging],[data-enhanced~=article] .markdown-body [data-gallery][data-dragging] *{cursor:grabbing}.markdown-body [data-gallery] [data-gallery-item]{scroll-snap-align:start;flex:none;width:auto;margin:0}.markdown-body [data-gallery] [data-gallery-item] :is(img,video){height:var(--gallery-height);object-fit:contain;width:auto;max-width:none}.markdown-body [data-gallery] figcaption{overflow-wrap:break-word;width:0;min-width:100%;max-width:100%;padding:0 12px}.gallery-shell{z-index:1;margin-bottom:var(--flow-gap);position:relative}.gallery-controls{height:var(--gallery-height);top:0;left:calc(-1 * var(--bleed));z-index:30;pointer-events:none;justify-content:space-between;align-items:center;width:100vw;padding:0 8px;display:flex;position:absolute}.gallery-controls button{color:#fff;pointer-events:auto;background:#00000080;border-radius:50%;place-items:center;min-width:32px;min-height:32px;display:grid}.gallery-controls button:focus-visible{outline-offset:0;outline:2px solid #fff;box-shadow:0 0 0 4px #000}.gallery-controls button[aria-disabled=true]{opacity:.35;cursor:default}.gallery-controls button:before{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transform:rotate(-45deg)}.gallery-controls button:first-child:before{transform:rotate(135deg)}.gallery-controls button:hover{background:#000000a6}:is([data-youtube],[data-embed]){aspect-ratio:16/9;color:#fff;cursor:pointer;background:#000;place-items:center;width:100%;font-size:0;display:grid;position:relative;overflow:hidden}:is([data-youtube],[data-embed]):focus-visible{outline-color:var(--text-strong)}:is([data-youtube],[data-embed]) img{object-fit:cover;opacity:.8;position:absolute;inset:0;height:100%!important}:is([data-youtube],[data-embed])>span{display:none}:is([data-youtube],[data-embed]):after{content:"";background:var(--play-glyph) center / auto 40% no-repeat var(--play-disc);forced-color-adjust:none;border-radius:50%;width:68px;height:68px;position:relative;box-shadow:0 10px 15px -3px #0000001a}:is([data-youtube],[data-embed]):hover:after{background-color:var(--play-disc-hover);transform:scale(1.1)}.page-longread{--main-width:calc(100vw - var(--main-left) - var(--frame-margin));--prose:var(--main-width);--gallery-height:clamp(200px, 45svh, 320px)}.page-longread .work-article{width:auto;max-width:none;padding:0}.page-longread .work-article>header,.page-longread .prose-run,.page-longread .markdown-body>figure[data-media-layout=normal],.page-longread .markdown-body>[data-media-kind=comparison],.page-longread .markdown-body>[data-footnotes],.page-longread .work-related{max-width:min(100%, var(--prose))}.page-longread .work-article>header>h1{margin-block-start:calc(var(--cap-top) - (1lh - 1.3em) / 2 - .294em)}@supports (text-box:trim-start cap alphabetic){html:not([data-trim=off]) :is(.page-longread .work-article>header>h1){text-box:trim-start cap alphabetic;margin-block-start:var(--cap-top)}}.page-longread .work-article>header>h1{letter-spacing:-.02em;margin-bottom:23px;font-size:34px;line-height:1.1}.page-longread .work-article>header>.type-lead{margin-bottom:72px;font-size:21px;line-height:1.114}.page-longread .markdown-body,.page-longread .work-related{font-size:18px;line-height:1.45}.page-longread .markdown-body{color:var(--text-strong)}.page-longread .markdown-body :is(h2,h3,h4,h5,h6){color:var(--text)}.page-longread .markdown-body h2{font-size:29px}.page-longread .markdown-body :is(p,ul,ol,blockquote){margin-block:0}.page-longread .markdown-body :is(p,ul,ol,blockquote)+:is(p,ul,ol,blockquote){margin-top:20px}.page-longread .markdown-body li>:is(ul,ol){margin-top:8px}.page-longread .markdown-body :is(h2,h3){margin:72px 0 20px}.page-longread .markdown-body>:is(figure,[data-gallery],.gallery-shell,[data-footnotes]){margin-block:72px 55px}.page-longread .markdown-body figcaption{letter-spacing:.01em;margin-top:10px;font-size:15px;line-height:1.3}.page-longread .markdown-body figure[data-media-layout=hero]{width:auto;margin-left:0}.page-longread .markdown-body figure[data-media-layout=fullwidth]>figcaption{margin-inline:var(--bleed) var(--frame-margin)}@media (width<=767px){.page-longread .markdown-body>:is(figure[data-media-layout=normal],figure[data-media-layout=hero]){width:100vw;max-width:none;margin-left:calc(-1 * var(--bleed))}.page-longread .markdown-body>:is(figure[data-media-layout=normal],figure[data-media-layout=hero])>figcaption{margin-inline:var(--bleed) var(--frame-margin)}}.page-longread .markdown-body>:is(figure[data-media-layout=fullwidth],[data-gallery]){z-index:1;position:relative}.page-longread .markdown-body [data-gallery]{overscroll-behavior-x:contain;align-items:flex-start;gap:0}.page-longread .markdown-body [data-gallery] [data-gallery-item]{flex:0 0 100%}.page-longread .markdown-body [data-gallery] [data-gallery-item] :is(img,video){width:100%;height:var(--gallery-height);background:var(--surface)}.page-longread .markdown-body .gallery-shell [data-gallery]{margin-block:0}.gallery-dots{display:none}@media (width<=1023px){.page-longread .markdown-body [data-gallery]{grid-template-rows:auto auto;grid-auto-columns:100%;grid-auto-flow:column;align-items:stretch;display:grid}.page-longread .markdown-body [data-gallery] [data-gallery-item]{grid-row:span 2;grid-template-rows:subgrid;row-gap:0;display:grid}.page-longread .markdown-body [data-gallery] [data-gallery-item] :is(img,video){background:0 0;height:100%;max-height:min(125vw,80svh)}.page-longread .markdown-body [data-gallery] [data-gallery-item] video{align-self:stretch;height:auto}.page-longread .markdown-body .gallery-shell [data-gallery]{height:var(--gallery-strip,auto);overflow-y:hidden}.page-longread .markdown-body .gallery-shell figcaption{align-self:start;margin-top:34px}.page-longread .markdown-body [data-gallery] [data-gallery-item] :is(img,video){background-color:#0000!important}.gallery-controls button{display:none}.gallery-dots{top:calc(var(--gallery-media,0px) + 12px);pointer-events:none;justify-content:center;align-items:center;gap:6px;height:6px;display:flex;position:absolute;inset-inline:0}.gallery-dots span{background:var(--toc-bar);border-radius:50%;flex:none;width:6px;height:6px}.gallery-dots [data-distance="0"]{background:var(--text-strong)}.gallery-dots [data-distance="3"]{scale:.66}.gallery-dots [data-distance="4"]{display:none}}.page-longread .markdown-body [data-footnotes]{letter-spacing:.01em;color:var(--caption);font-size:15px;line-height:1.3}.page-longread .markdown-body sup:has(>[data-footnote-ref]){font-size:inherit;top:0}.page-longread .markdown-body [data-footnote-ref]{background:var(--note-fill,var(--marker-bg));width:22px;height:22px;color:var(--note-ink,var(--text));vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin:0 .25em 0 calc(.25em + 1px);font-size:12px;font-weight:500;line-height:1;display:inline-flex}.page-longread .markdown-body a[href^=\#user-content-fn-]:not([data-footnote-ref]){background:linear-gradient(var(--highlight-active), var(--highlight-active)) 0 50% / calc(var(--note-on,0) * 100%) 1.1em no-repeat, linear-gradient(var(--highlight), var(--highlight)) 0 50% / 100% 1.1em no-repeat;color:var(--note-ink,currentcolor);-webkit-box-decoration-break:clone;box-decoration-break:clone;margin:0 -2px;padding:0 2px;text-decoration:none}.page-longread .markdown-body a[href^=\#user-content-fn-]:focus-visible{outline-color:var(--text-strong)}.page-longread .work-related{color:var(--text);margin-top:72px}.page-longread .work-related:not(:has(li)){display:none}.page-longread .work-related h2{margin-bottom:20px;font-size:29px;font-weight:500;line-height:32px}.page-longread .work-related li{border-bottom:1px solid var(--rule);grid-template-columns:48px minmax(0,1fr) auto;align-items:baseline;column-gap:16px;padding:16px 0;display:grid}.page-longread .work-related li>:last-child{color:var(--label);text-align:right}.page-longread .work-related a:hover{opacity:.6}.work-contents{--tw-leading:1.114;margin-bottom:var(--gutter);font-size:21px;line-height:1.114;display:flow-root}.work-contents:not(:has(li)){display:none}.work-contents summary{color:var(--label);cursor:pointer}.work-contents details[open]>summary{margin-bottom:16px}.work-contents ol{margin-block:-3px}.work-contents li:not(:last-child):after{content:"";background:var(--toc-bar);transform-origin:0;width:18px;height:2px;margin-block:2px;display:block}.work-contents a{color:var(--toc-label);letter-spacing:.015em;padding:3px 0 3px 44px;font-size:15px;line-height:16px;display:block;position:relative}.work-contents a:before{content:"";background:var(--toc-bar);transform-origin:0;width:24px;height:2px;position:absolute;top:10px;left:0}.work-contents a>span{transform-origin:0;display:block}@media (width<=1023px){[data-enhanced~=article] .work-contents{margin-bottom:0}[data-enhanced~=article] .work-contents details>summary{top:calc((var(--nav-frame) - 36px) / 2);left:calc(var(--frame-margin) + 118px);z-index:41;background:var(--logo-surface);height:36px;color:var(--logo-ink);border-radius:18px;align-items:center;gap:8px;margin:0;padding:0 16px;font-size:16px;font-weight:500;line-height:1;list-style:none;display:flex;position:fixed}[data-enhanced~=article] .work-contents summary:before{content:"";position:absolute;inset:-4px}[data-enhanced~=article] .work-contents summary::-webkit-details-marker{display:none}[data-enhanced~=article] .work-contents details[open]>summary:after{content:"×";font-size:20px}[data-enhanced~=article][data-reader-chrome=hidden] .work-contents details:not([open])>summary:not(:focus-visible){opacity:0;pointer-events:none}html[data-enhanced~=article]:has(.work-contents details[open]) body{background:var(--nav-surface)}html[data-enhanced~=article]:has(.work-contents details[open]) body:before{display:none}html[data-enhanced~=article]:has(.work-contents details[open]) :is(.site-sidebar,.site-main,.site-contacts){visibility:hidden}[data-enhanced~=article] .work-contents details[open]{inset:var(--nav-frame) 0 calc(56px + env(safe-area-inset-bottom));z-index:39;background:var(--nav-surface);position:fixed}[data-enhanced~=article] .work-contents details[open]>div{overscroll-behavior:contain;height:100%;padding:calc(var(--content-top) - var(--nav-frame)) var(--frame-margin) 0;overflow-y:auto}[data-enhanced~=article] .work-contents details[open]>div a{padding-block:12px}[data-enhanced~=article] .work-contents details[open]>div a:before{top:calc(50% - 1px)}html[data-enhanced~=article]:has(.work-contents details[open]){overflow:hidden}}@media (width>=375px) and (width<=767px){[data-enhanced~=article] .work-contents details>summary{left:50%;transform:translate(-50%)}}.page-longread .markdown-body [data-footnotes]>ol>li{color:var(--note-text,currentcolor)}[data-enhanced~=article] .page-longread .markdown-body:has(>[data-note-layout=margin]){position:relative}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin],[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol{margin:0;padding:0;list-style:none}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li{z-index:1;left:calc(min(100%, var(--prose)) + 56px);background:linear-gradient(var(--bg-gradient), var(--bg-gradient-fade)) 0 0 / 100% 300px no-repeat fixed var(--bg);width:334px;margin:0;padding-left:34px;position:absolute}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li:before{content:counter(list-item);background:var(--note-fill,var(--marker-bg));width:22px;height:22px;color:var(--note-ink,var(--text));letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:500;line-height:1;display:flex;position:absolute;top:0;left:0}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li[data-note-clamped]:not([data-note-expanded])>:first-child{-webkit-line-clamp:var(--lines);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li[data-note-clamped]:not([data-note-expanded])>:not(:first-child,[data-note-toggle]){clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li[data-note-clamped]>[data-note-toggle]{text-align:left;text-underline-offset:2px;cursor:pointer;min-height:24px;text-decoration:underline;display:block}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li[data-note-clamped]>[data-note-toggle]:is(:hover,:focus-visible){color:var(--text-strong)}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li[data-note-expanded]{z-index:2}[data-enhanced~=article] .page-longread .markdown-body>[data-note-layout=margin]>ol>li:focus-within{z-index:3}@media (width>=1440px) and (hover:hover){.work-contents a>span{max-width:calc((var(--sidebar-width) - 32px) / 1.133)}}@media (width>=640px){.card-cover{aspect-ratio:16/9}}@media (width>=768px){:root{--frame-margin:20px;--content-top:120px;--gallery-height:50vh}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{pointer-events:none;background:0 0}.site-header>*{pointer-events:auto}.desktop-navigation{display:flex}[data-enhanced~=shell] .menu-trigger,.no-script-navigation{display:none}.work-article{width:66.6667%;max-width:960px}.page-longread .work-article>header>h1{font-size:40px}.page-longread .work-article>header>.type-lead{font-size:28px}.page-longread{--prose:min(var(--main-width), 680px);--gallery-height:50svh}.page-longread .markdown-body,.page-longread .work-related{font-size:20px;line-height:1.34}}@media (width>=1024px){:root{--content-top:150px;--sidebar-width:max(240px, (100vw - 2 * var(--frame-margin)) * .18);--flow-gap:62px;--hero-gap:32px}html{scroll-padding-top:calc(var(--nav-frame) + 20px)}body{padding-bottom:0}.has-sidebar{--main-left:calc(var(--frame-margin) + var(--sidebar-width) + var(--gutter));grid-template:auto auto 1fr / var(--sidebar-width) minmax(0, 1fr);column-gap:var(--gutter);align-items:start;display:grid}.site-sidebar{--cap-top:calc((var(--cap-height) - var(--x-height)) * 47px);grid-area:1/1}.work-contents{grid-area:2/1}.work-contents details[open]>summary{display:none}.site-main{grid-area:1/2/-1}.site-contacts{grid-area:3/1;margin-top:0}.page-longread .site-contacts{align-self:end}.page-longread .work-article>header>h1{font-size:47px}.page-longread{--prose:min(var(--main-width), max(560px, var(--main-width) * .56))}.page-longread .markdown-body [data-gallery]{overscroll-behavior-x:auto;background:linear-gradient(var(--bg-gradient), var(--bg-gradient-fade)) 0 0 / 100% 300px no-repeat fixed var(--bg);box-shadow:0 10px var(--bg);gap:6px}.page-longread .markdown-body [data-gallery] [data-gallery-item]{flex:none}.page-longread .markdown-body [data-gallery] [data-gallery-item] :is(img,video){background:0 0;width:auto}.work-footer{margin-bottom:20px}}@media (width>=1024px) and (height>=800px){html:not([data-sidebar-fit=no]) body:not(:has(.work-contents li)) .site-sidebar{top:var(--content-top);height:calc(100vh - var(--content-top));grid-row:1/-1;margin-bottom:0;padding-bottom:20px;position:sticky}html:not([data-sidebar-fit=no]) body:not(:has(.work-contents li)) .site-contacts{bottom:20px;left:var(--frame-margin);width:var(--sidebar-width);position:fixed}}@media (width>=1280px){:root{--flow-gap:76px}.card-content{grid-template:auto auto/64% 30%;column-gap:6%}.card-summary,.card-metadata{grid-row:span 2;grid-template-rows:subgrid}}@media (width>=1440px){.page-longread{--prose:min(var(--main-width) * .56, 900px);--gallery-height:60svh}}@media (width>=1536px){:root{--flow-gap:84px;--hero-gap:46px}}@media (hover:hover) and (pointer:fine){.card-cursor{visibility:hidden;opacity:0;display:flex;scale:.9}.work-card:is([data-cursor=in],[data-cursor=over]) .card-cursor{visibility:visible;opacity:1;scale:1}.work-card:is([data-cursor=in],[data-cursor=over]),.work-card:is([data-cursor=in],[data-cursor=over]) a{cursor:none}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}html[data-traverse]{scroll-behavior:auto}body{transition:color var(--dur-theme) var(--ease-css)}@media (hover:hover) and (pointer:fine){body{transition:background-color var(--dur-theme) var(--ease-css), color var(--dur-theme) var(--ease-css)}}.theme-toggle,.desktop-navigation a,.site-contacts a{transition:color var(--dur-link) var(--ease-css)}.page-longread .markdown-body [data-gallery]{transition:background-color var(--dur-theme) var(--ease-css), box-shadow var(--dur-theme) var(--ease-css)}.work-contents a{transition:padding .4s var(--ease-toc), color .3s var(--ease-css)}.work-contents a:before,.work-contents li:after{transition:width .35s var(--ease-std), scale .35s var(--ease-std), background-color .3s var(--ease-css)}.work-contents a>span{transition:opacity .25s var(--ease-css) 60ms, translate .4s var(--ease-toc), scale .4s var(--ease-toc)}.work-contents ol:before{transition:width .4s var(--ease-toc), visibility .4s var(--ease-toc)}.work-contents details{transition:opacity .25s var(--ease-css)}:is(.site-sidebar,.work-contents,.site-contacts)[data-swap],:is(.site-sidebar,.work-contents,.site-contacts)[data-swap] *,:is(.site-sidebar,.work-contents,.site-contacts)[data-swap] :before,:is(.site-sidebar,.work-contents,.site-contacts)[data-swap] :after{transition:none}.page-longread .markdown-body a[href^=\#user-content-fn-]:not([data-footnote-ref]){transition:background-size calc(var(--note-on,0) * .4s) var(--ease-toc), color calc(var(--note-on,0) * .2s) var(--ease-css)}.page-longread .markdown-body [data-footnote-ref]{transition:background-color calc(var(--note-on,0) * .1s) var(--ease-css) calc(var(--note-on,0) * .15s), color calc(var(--note-on,0) * .1s) var(--ease-css) calc(var(--note-on,0) * .15s)}.page-longread .markdown-body [data-footnotes]>ol>li,.page-longread .markdown-body [data-note-toggle]{transition:color .2s var(--ease-css)}.work-related a,.work-footer-navigation a{transition:opacity var(--dur-link) var(--ease-css)}.card-cover video{transition:opacity .3s var(--ease-css)}:is([data-youtube],[data-embed]):after{transition:transform .2s var(--ease-css), background-color .2s var(--ease-css)}@media (width<=1023px){[data-enhanced~=shell][data-reader-chrome] .site-header{transition:opacity .2s var(--ease-css), translate .2s var(--ease-css)}[data-enhanced~=shell][data-reader-chrome=hidden] .site-header:not(:has(:focus-visible)){translate:0 -.5rem}.mobile-menu[open],[data-enhanced~=article] .work-contents details[open]{transition:opacity .2s var(--ease-css)}@starting-style{.mobile-menu[open],[data-enhanced~=article] .work-contents details[open]{opacity:0}}.page-longread .markdown-body .gallery-shell [data-gallery][data-ease]{transition:height .25s var(--ease-css), background-color var(--dur-theme) var(--ease-css), box-shadow var(--dur-theme) var(--ease-css)}.viewer-stage :is(img,video)[data-ease]{transition:transform .25s var(--ease-css)}.gallery-dots span{transition:background-color .2s var(--ease-css), scale .2s var(--ease-css)}[data-enhanced~=article][data-reader-chrome] .work-contents summary{transition:opacity .2s var(--ease-css), translate .2s var(--ease-css)}[data-enhanced~=article][data-reader-chrome=hidden] .work-contents details:not([open])>summary:not(:focus-visible){translate:0 -.5rem}}.site-header{view-transition-name:site-header}@media (width>=1024px) and (height>=800px){html:not([data-sidebar-fit=no]) body:not(:has(.work-contents li)) .site-contacts{view-transition-name:site-contacts}}.card-cursor{transition:opacity var(--dur-cursor-hide) var(--ease-in-cubic), scale var(--dur-cursor-hide) var(--ease-in-cubic), visibility 0s var(--dur-cursor-hide)}[data-cursor=in] .card-cursor{transition:opacity var(--dur-cursor-show) var(--ease-out-cubic), scale var(--dur-cursor-show) var(--ease-out-cubic)}:is([data-cursor=over],[data-cursor=out]) .card-cursor{transition:none}[data-cursor=in] .card-cursor-label{animation:card-cursor-width var(--dur-cursor-type) linear, card-cursor-type var(--dur-cursor-type) linear}[data-cursor=over] .card-cursor-label{animation:card-cursor-width var(--dur-cursor-type) var(--ease-out-cubic), card-cursor-type var(--dur-cursor-type) linear}.site-sidebar,.work-article>header>.type-lead{--tw-ink:var(--text)}.sidebar-metadata dt{--tw-ink:var(--label)}::highlight(tw-hide){color:#0000;text-decoration-color:#0000}::highlight(tw-10-0){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-0){color:color-mix(in srgb, var(--tw-ink) 12.25%, transparent)}}::highlight(tw-10-0){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-0){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 12.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 12.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 12.25%, transparent)}}::highlight(tw-10-1){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-1){color:color-mix(in srgb, var(--tw-ink) 16.75%, transparent)}}::highlight(tw-10-1){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-1){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 16.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 16.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 16.75%, transparent)}}::highlight(tw-10-2){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-2){color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent)}}::highlight(tw-10-2){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-2){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent)}}::highlight(tw-10-3){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-3){color:color-mix(in srgb, var(--tw-ink) 25.75%, transparent)}}::highlight(tw-10-3){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-3){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 25.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 25.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 25.75%, transparent)}}::highlight(tw-10-4){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-4){color:color-mix(in srgb, var(--tw-ink) 30.25%, transparent)}}::highlight(tw-10-4){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-4){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 30.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 30.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 30.25%, transparent)}}::highlight(tw-10-5){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-5){color:color-mix(in srgb, var(--tw-ink) 34.75%, transparent)}}::highlight(tw-10-5){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-5){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 34.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 34.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 34.75%, transparent)}}::highlight(tw-10-6){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-6){color:color-mix(in srgb, var(--tw-ink) 39.25%, transparent)}}::highlight(tw-10-6){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-6){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 39.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 39.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 39.25%, transparent)}}::highlight(tw-10-7){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-7){color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent)}}::highlight(tw-10-7){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-7){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent)}}::highlight(tw-10-8){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-8){color:color-mix(in srgb, var(--tw-ink) 48.25%, transparent)}}::highlight(tw-10-8){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-8){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 48.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 48.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 48.25%, transparent)}}::highlight(tw-10-9){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-9){color:color-mix(in srgb, var(--tw-ink) 52.75%, transparent)}}::highlight(tw-10-9){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-9){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 52.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 52.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 52.75%, transparent)}}::highlight(tw-10-10){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-10){color:color-mix(in srgb, var(--tw-ink) 57.25%, transparent)}}::highlight(tw-10-10){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-10){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 57.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 57.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 57.25%, transparent)}}::highlight(tw-10-11){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-11){color:color-mix(in srgb, var(--tw-ink) 61.75%, transparent)}}::highlight(tw-10-11){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-11){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 61.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 61.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 61.75%, transparent)}}::highlight(tw-10-12){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-12){color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent)}}::highlight(tw-10-12){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-12){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent)}}::highlight(tw-10-13){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-13){color:color-mix(in srgb, var(--tw-ink) 70.75%, transparent)}}::highlight(tw-10-13){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-13){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 70.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 70.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 70.75%, transparent)}}::highlight(tw-10-14){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-14){color:color-mix(in srgb, var(--tw-ink) 75.25%, transparent)}}::highlight(tw-10-14){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-14){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 75.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 75.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 75.25%, transparent)}}::highlight(tw-10-15){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-15){color:color-mix(in srgb, var(--tw-ink) 79.75%, transparent)}}::highlight(tw-10-15){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-15){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 79.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 79.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 79.75%, transparent)}}::highlight(tw-10-16){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-16){color:color-mix(in srgb, var(--tw-ink) 84.25%, transparent)}}::highlight(tw-10-16){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-16){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 84.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 84.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 84.25%, transparent)}}::highlight(tw-10-17){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-17){color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent)}}::highlight(tw-10-17){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-17){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent)}}::highlight(tw-10-18){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-18){color:color-mix(in srgb, var(--tw-ink) 93.25%, transparent)}}::highlight(tw-10-18){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-18){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 93.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 93.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 93.25%, transparent)}}::highlight(tw-10-19){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-19){color:color-mix(in srgb, var(--tw-ink) 97.75%, transparent)}}::highlight(tw-10-19){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-10-19){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 97.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 97.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 97.75%, transparent)}}::highlight(tw-6-0){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-0){color:color-mix(in srgb, var(--tw-ink) 13.75%, transparent)}}::highlight(tw-6-0){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-0){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 13.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 13.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 13.75%, transparent)}}::highlight(tw-6-1){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-1){color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent)}}::highlight(tw-6-1){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-1){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 21.25%, transparent)}}::highlight(tw-6-2){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-2){color:color-mix(in srgb, var(--tw-ink) 28.75%, transparent)}}::highlight(tw-6-2){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-2){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 28.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 28.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 28.75%, transparent)}}::highlight(tw-6-3){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-3){color:color-mix(in srgb, var(--tw-ink) 36.25%, transparent)}}::highlight(tw-6-3){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-3){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 36.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 36.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 36.25%, transparent)}}::highlight(tw-6-4){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-4){color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent)}}::highlight(tw-6-4){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-4){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 43.75%, transparent)}}::highlight(tw-6-5){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-5){color:color-mix(in srgb, var(--tw-ink) 51.25%, transparent)}}::highlight(tw-6-5){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-5){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 51.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 51.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 51.25%, transparent)}}::highlight(tw-6-6){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-6){color:color-mix(in srgb, var(--tw-ink) 58.75%, transparent)}}::highlight(tw-6-6){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-6){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 58.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 58.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 58.75%, transparent)}}::highlight(tw-6-7){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-7){color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent)}}::highlight(tw-6-7){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-7){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 66.25%, transparent)}}::highlight(tw-6-8){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-8){color:color-mix(in srgb, var(--tw-ink) 73.75%, transparent)}}::highlight(tw-6-8){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-8){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 73.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 73.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 73.75%, transparent)}}::highlight(tw-6-9){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-9){color:color-mix(in srgb, var(--tw-ink) 81.25%, transparent)}}::highlight(tw-6-9){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-9){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 81.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 81.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 81.25%, transparent)}}::highlight(tw-6-10){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-10){color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent)}}::highlight(tw-6-10){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-10){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 88.75%, transparent)}}::highlight(tw-6-11){color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-11){color:color-mix(in srgb, var(--tw-ink) 96.25%, transparent)}}::highlight(tw-6-11){-webkit-text-decoration-color:var(--tw-ink);-webkit-text-decoration-color:var(--tw-ink);text-decoration-color:var(--tw-ink)}@supports (color:color-mix(in lab, red, red)){::highlight(tw-6-11){-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 96.25%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--tw-ink) 96.25%, transparent);text-decoration-color:color-mix(in srgb, var(--tw-ink) 96.25%, transparent)}}}@keyframes card-cursor-width{0%{width:var(--cursor-from,0px)}to{width:var(--cursor-width)}}@keyframes card-cursor-type{0%{-webkit-mask:linear-gradient(90deg, #000 calc(100% - 6ch), transparent) calc(-6ch - var(--cursor-width)) 0 / calc(var(--cursor-width) + 6ch) 100% no-repeat;-webkit-mask:linear-gradient(90deg, #000 calc(100% - 6ch), transparent) calc(-6ch - var(--cursor-width)) 0 / calc(var(--cursor-width) + 6ch) 100% no-repeat;mask:linear-gradient(90deg, #000 calc(100% - 6ch), transparent) calc(-6ch - var(--cursor-width)) 0 / calc(var(--cursor-width) + 6ch) 100% no-repeat}to{-webkit-mask:linear-gradient(90deg, #000 calc(100% - 6ch), transparent) 0 0 / calc(var(--cursor-width) + 6ch) 100% no-repeat;-webkit-mask:linear-gradient(90deg, #000 calc(100% - 6ch), transparent) 0 0 / calc(var(--cursor-width) + 6ch) 100% no-repeat;mask:linear-gradient(90deg, #000 calc(100% - 6ch), transparent) 0 0 / calc(var(--cursor-width) + 6ch) 100% no-repeat}}@media screen and (prefers-reduced-motion:no-preference){[data-entrance~=cold] :where(.site-header>*,.sidebar-description>p,.work-card,.sidebar-metadata,.work-article>header>:is(h1,.type-lead)){animation:entrance var(--enter-duration) var(--enter-ease) var(--enter-delay,0s) both}.page-home .site-header>*{--from-y:-20px;--enter-duration:var(--dur-enter-nav-home);--enter-ease:var(--ease-out-quart)}.sidebar-description>p{--from-y:12px;--enter-duration:var(--dur-enter-text);--enter-ease:var(--ease-out-quart);--enter-delay:.3s}.sidebar-description>p:nth-child(2){--enter-delay:.5s}.work-card{--from-y:16px;--enter-duration:var(--dur-enter-card);--enter-ease:var(--ease-out-cubic);--enter-delay:calc(.9s + .45s * var(--i,0) / max(var(--n,1) - 1, 1))}.page-longread .site-header>*{--from-y:-16px;--enter-duration:var(--dur-enter-nav-work);--enter-ease:var(--ease-out-quart)}.sidebar-metadata,.work-article>header>:is(h1,.type-lead){--from-y:12px;--enter-duration:var(--dur-enter-text);--enter-ease:var(--ease-out-cubic)}.sidebar-metadata{--enter-delay:.1s}.work-article>header>h1{--enter-delay:.15s}.work-article>header>.type-lead{--enter-delay:.22s}@media (width<=767px){[data-entrance~=cold] .no-script-navigation{display:none}[data-entrance~=cold]:not([data-enhanced~=shell]) .menu-trigger{visibility:hidden;display:grid}}@media (width<=1023px){[data-entrance~=cold]:not([data-enhanced~=article]) .work-contents{display:none}}[data-entrance~=cold] .work-card:is(:focus-within,[data-cursor]){animation-duration:0s;animation-delay:0s}@media (hover:hover) and (pointer:fine){[data-entrance~=cold] .work-card:hover{animation-duration:0s;animation-delay:0s}}[data-entrance~=cold] .work-card[data-reached]{animation:none}}@keyframes entrance{0%{opacity:0;translate:0 var(--from-y)}}@media not all and (hover:hover) and (pointer:fine){.site-contacts:has(:focus-visible),.page-longread .markdown-body>[data-note-layout=margin]>ol>li,.page-longread .markdown-body [data-gallery]{background-image:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (forced-colors:active){.work-contents{--toc-bar:CanvasText;--text-strong:CanvasText}.work-contents a:before,.work-contents li:not(:last-child):after{forced-color-adjust:none}.markdown-body a:is([href^=http],[href^=mailto\:]):after{forced-color-adjust:none;background:linktext}}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
