.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@layer base,utils,components;@layer base{:root{--background0: #fff;--background1: #ddd;--background2: #bbb;--background3: #999;--foreground0: #000;--foreground1: #444;--foreground2: #888;--font-size: 16px;--line-height: 1.3;--font-weight-bold: 700;--font-weight-normal: 400;--font-family: monospace;--box-border-color: var(--foreground0);--table-border-color: var(--box-border-color);--separator-color: var(--box-border-color);--separator-background: transparent}[data-webtui-theme=dark]{--background0: #000;--background1: #222;--background2: #444;--background3: #666;--foreground0: #fff;--foreground1: #ccc;--foreground2: #999}body,html{background-color:var(--background0);color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height, 1.5);font-variant-ligatures:common-ligatures}*{box-sizing:border-box;margin:0;padding:0;outline:none}}@layer base{[data-webtui-theme|=gruvbox-dark]{--gb-dark-bg1: #3c3836;--gb-dark-bg2: #504945;--gb-dark-bg3: #665c54;--gb-dark-bg4: #7c6f64;--gb-dark-fg0: #fbf1c7;--gb-dark-fg1: #ebdbb2;--gb-dark-fg2: #d5c4a1;--gb-dark-fg3: #bdae93;--gb-dark-fg4: #a89984;--gb-dark-gray: #928374;--gb-red: #fb4934;--gb-green: #b8bb26;--gb-yellow: #fabd2f;--gb-blue: #83a598;--gb-purple: #d3869b;--gb-aqua: #8ec07c;--gb-orange: #fe8019;--background1: var(--gb-dark-bg1);--background2: var(--gb-dark-bg2);--background3: var(--gb-dark-bg3);--foreground0: var(--gb-dark-fg1);--foreground1: var(--gb-dark-fg2);--foreground2: var(--gb-dark-fg3)}[data-webtui-theme=gruvbox-dark-hard]{--gb-dark-bg0: #1d2021;--background0: var(--gb-dark-bg0)}[data-webtui-theme=gruvbox-dark-medium],[data-webtui-theme=gruvbox-dark],[data-webtui-theme=gruvbox]{--gb-dark-bg0: #282828;--background0: var(--gb-dark-bg0)}[data-webtui-theme=gruvbox-dark-soft]{--gb-dark-bg0: #32302f;--background0: var(--gb-dark-bg0)}[data-webtui-theme|=gruvbox-light]{--gb-light-bg1: #ebdbb2;--gb-light-bg2: #d5c4a1;--gb-light-bg3: #bdae93;--gb-light-bg4: #a89984;--gb-light-fg0: #282828;--gb-light-fg1: #3c3836;--gb-light-fg2: #504945;--gb-light-fg3: #665c54;--gb-light-fg4: #7c6f64;--gb-light-gray: #a89984;--gb-red: #cc241d;--gb-green: #98971a;--gb-yellow: #d79921;--gb-blue: #458588;--gb-purple: #b16286;--gb-aqua: #689d6a;--gb-orange: #d65d0e;--background1: var(--gb-light-bg1);--background2: var(--gb-light-bg2);--background3: var(--gb-light-bg3);--foreground0: var(--gb-light-fg1);--foreground1: var(--gb-light-fg2);--foreground2: var(--gb-light-fg3)}[data-webtui-theme=gruvbox-light-hard]{--gb-light-bg0: #f9f5d7;--background0: var(--gb-light-bg0)}[data-webtui-theme=gruvbox-light-medium],[data-webtui-theme=gruvbox-light]{--gb-light-bg0: #fbf1c7;--background0: var(--gb-light-bg0)}[data-webtui-theme=gruvbox-light-soft]{--gb-light-bg0: #f2e5bc;--background0: var(--gb-light-bg0)}}@layer components{[data-webtui-theme|=gruvbox] button[variant-=red]{--button-primary: var(--gb-red);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox] button[variant-=green]{--button-primary: var(--gb-green);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox] button[variant-=yellow]{--button-primary: var(--gb-yellow);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox] button[variant-=blue]{--button-primary: var(--gb-blue);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox] button[variant-=purple]{--button-primary: var(--gb-purple);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox] button[variant-=aqua]{--button-primary: var(--gb-aqua);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox] button[variant-=orange]{--button-primary: var(--gb-orange);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox-dark] button[variant-=gray]{--button-primary: var(--gb-dark-gray);--button-secondary: var(--background0)}[data-webtui-theme|=gruvbox-light] button[variant-=gray]{--button-primary: var(--gb-light-gray);--button-secondary: var(--background0)}}@layer components{[data-webtui-theme|=gruvbox] h1,[data-webtui-theme|=gruvbox] h2,[data-webtui-theme|=gruvbox] h3,[data-webtui-theme|=gruvbox] h4,[data-webtui-theme|=gruvbox] h5,[data-webtui-theme|=gruvbox] h6{color:var(--gb-green)}[data-webtui-theme|=gruvbox] p a,[data-webtui-theme|=gruvbox] blockquote a,[data-webtui-theme|=gruvbox] li a,[data-webtui-theme|=gruvbox] [is-~=typography-block] a{color:var(--gb-blue);text-decoration:underline}[data-webtui-theme|=gruvbox] p a:hover,[data-webtui-theme|=gruvbox] blockquote a:hover,[data-webtui-theme|=gruvbox] li a:hover,[data-webtui-theme|=gruvbox] [is-~=typography-block] a:hover{color:var(--gb-aqua)}[data-webtui-theme|=gruvbox] p code,[data-webtui-theme|=gruvbox] blockquote code,[data-webtui-theme|=gruvbox] li code,[data-webtui-theme|=gruvbox] [is-~=typography-block] code{color:var(--gb-orange)}}@layer components{[data-webtui-theme|=gruvbox] [is-~=badge][variant-=red]{--badge-color: var(--gb-red);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox] [is-~=badge][variant-=green]{--badge-color: var(--gb-green);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox] [is-~=badge][variant-=yellow]{--badge-color: var(--gb-yellow);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox] [is-~=badge][variant-=blue]{--badge-color: var(--gb-blue);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox] [is-~=badge][variant-=purple]{--badge-color: var(--gb-purple);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox] [is-~=badge][variant-=aqua]{--badge-color: var(--gb-aqua);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox] [is-~=badge][variant-=orange]{--badge-color: var(--gb-orange);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox-dark] [is-~=badge][variant-=gray]{--badge-color: var(--gb-dark-gray);--badge-text: var(--background0)}[data-webtui-theme|=gruvbox-light] [is-~=badge][variant-=gray]{--badge-color: var(--gb-light-gray);--badge-text: var(--background0)}}@layer utils{@property --box-rounded-radius{syntax: "<length>"; inherits: false; initial-value: 4px;}@property --box-border-width{syntax: "<length>"; inherits: false; initial-value: 2px;}@property --box-double-border-width{syntax: "<length>"; inherits: false; initial-value: 1px;}[box-=square],[box-=round],[box-=double]{position:relative;isolation:isolate;padding:1lh 1ch}[box-=square]:before,[box-=round]:before,[box-=double]:before{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;width:calc(100% - 1ch - var(--box-border-width));height:calc(100% - 1lh - var(--box-border-width));border:solid var(--box-border-width) var(--box-border-color);z-index:-1}[box-=square][box-=round]:before,[box-=round][box-=round]:before,[box-=double][box-=round]:before{border-radius:var(--box-rounded-radius)}[box-=square][box-=round]:after,[box-=round][box-=round]:after,[box-=double][box-=round]:after{border-radius:calc(var(--box-rounded-radius) + 2px)}[box-=square][box-=double]:before,[box-=round][box-=double]:before,[box-=double][box-=double]:before{border-width:var(--box-double-border-width)}[box-=square][box-=double]:after,[box-=round][box-=double]:after,[box-=double][box-=double]:after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;width:calc(100% - 1ch + var(--box-double-border-width) * 2);height:calc(100% - 1lh + var(--box-double-border-width) * 2);border:solid var(--box-double-border-width) var(--box-border-color);z-index:-1}[box-=square][shear-=both],[box-=round][shear-=both],[box-=double][shear-=both]{padding-top:0;padding-bottom:0}[box-=square][shear-=top],[box-=round][shear-=top],[box-=double][shear-=top]{padding-top:0}[box-=square][shear-=bottom],[box-=round][shear-=bottom],[box-=double][shear-=bottom]{padding-bottom:0}}@layer components{[is-~=badge]{color:var(--badge-text);background-image:linear-gradient(90deg,transparent 0,transparent calc(1ch - 1px),var(--badge-color) calc(1ch - 1px),var(--badge-color) calc(100% - 1ch + 1px),transparent calc(100% - 1ch + 1px),transparent);display:inline-flex;vertical-align:top;white-space:nowrap;height:1lh;line-height:1lh}[is-~=badge][variant-=foreground0],[is-~=badge]:not([variant-]){--badge-color: var(--foreground0);--badge-text: var(--background0)}[is-~=badge][variant-=foreground1]{--badge-color: var(--foreground1);--badge-text: var(--background0)}[is-~=badge][variant-=foreground2]{--badge-color: var(--foreground2);--badge-text: var(--background0)}[is-~=badge][variant-=background0]{--badge-color: var(--background0);--badge-text: var(--foreground0)}[is-~=badge][variant-=background1]{--badge-color: var(--background1);--badge-text: var(--foreground0)}[is-~=badge][variant-=background2]{--badge-color: var(--background2);--badge-text: var(--foreground0)}[is-~=badge][variant-=background3]{--badge-color: var(--background3);--badge-text: var(--foreground0)}[is-~=badge]:before,[is-~=badge]:after{content:"";width:1ch;height:1lh;display:inline-block;vertical-align:middle;background-color:var(--badge-color);overflow:hidden}[is-~=badge][cap-^=round]:before{border-top-left-radius:1lh;border-bottom-left-radius:1lh}[is-~=badge][cap-$=round]:after{border-top-right-radius:1lh;border-bottom-right-radius:1lh}[is-~=badge][cap-^=triangle]:before{clip-path:polygon(100% 0,100% 100%,0 50%)}[is-~=badge][cap-$=triangle]:after{clip-path:polygon(0 0,0 100%,100% 50%)}[is-~=badge][cap-^=slant-top]:before{clip-path:polygon(0 0,100% 0,100% 100%)}[is-~=badge][cap-$=slant-top]:after{clip-path:polygon(0 0,100% 0,0 100%)}[is-~=badge][cap-^=slant-bottom]:before{clip-path:polygon(100% 0,100% 100%,0 100%)}[is-~=badge][cap-$=slant-bottom]:after{clip-path:polygon(0 0,100% 100%,0 100%)}[is-~=badge][cap-^=ribbon]:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,100% 50%)}[is-~=badge][cap-$=ribbon]:after{clip-path:polygon(0 0,100% 0,0% 50%,100% 100%,0% 100%)}}@layer components{button,input[type=button],input[type=submit],input[type=reset],[is-~=button]{--button-primary: var(--foreground0);--button-secondary: var(--background0);--mapped-primary: var(--button-primary);--mapped-secondary: var(--button-secondary);color:var(--mapped-secondary);background-color:var(--mapped-primary);font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);display:inline-flex;align-items:center;justify-content:center;border:none;padding:0 2ch;outline:none}button[box-],input[type=button][box-],input[type=submit][box-],input[type=reset][box-],[is-~=button][box-]{color:var(--mapped-primary);background-color:transparent;--box-border-color: var(--mapped-primary)}button:focus,input[type=button]:focus,input[type=submit]:focus,input[type=reset]:focus,[is-~=button]:focus{font-weight:700;text-decoration:underline}button:active,input[type=button]:active,input[type=submit]:active,input[type=reset]:active,[is-~=button]:active{--mapped-primary: var(--mapped-secondary);--mapped-secondary: var(--mapped-primary)}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,[is-~=button]:disabled{text-decoration:line-through;pointer-events:none}button[size-=small],input[type=button][size-=small],input[type=submit][size-=small],input[type=reset][size-=small],[is-~=button][size-=small]{padding:0 1ch;height:1lh}button:not([size-]):not([box-]),button[size-=default]:not([box-]),input[type=button]:not([size-]):not([box-]),input[type=button][size-=default]:not([box-]),input[type=submit]:not([size-]):not([box-]),input[type=submit][size-=default]:not([box-]),input[type=reset]:not([size-]):not([box-]),input[type=reset][size-=default]:not([box-]),[is-~=button]:not([size-]):not([box-]),[is-~=button][size-=default]:not([box-]){background-color:transparent;background-image:linear-gradient(to bottom,transparent 0,transparent .5lh,var(--mapped-primary) .5lh,var(--mapped-primary) calc(100% - .5lh),transparent calc(100% - .5lh),transparent)}button[size-=large],button[size-=default],button:not([size-]),input[type=button][size-=large],input[type=button][size-=default],input[type=button]:not([size-]),input[type=submit][size-=large],input[type=submit][size-=default],input[type=submit]:not([size-]),input[type=reset][size-=large],input[type=reset][size-=default],input[type=reset]:not([size-]),[is-~=button][size-=large],[is-~=button][size-=default],[is-~=button]:not([size-]){height:3lh}button[variant-=foreground0],button:not([variant-]),input[type=button][variant-=foreground0],input[type=button]:not([variant-]),input[type=submit][variant-=foreground0],input[type=submit]:not([variant-]),input[type=reset][variant-=foreground0],input[type=reset]:not([variant-]),[is-~=button][variant-=foreground0],[is-~=button]:not([variant-]){--button-primary: var(--foreground0);--button-secondary: var(--background0)}button[variant-=foreground1],input[type=button][variant-=foreground1],input[type=submit][variant-=foreground1],input[type=reset][variant-=foreground1],[is-~=button][variant-=foreground1]{--button-primary: var(--foreground1);--button-secondary: var(--background0)}button[variant-=foreground2],input[type=button][variant-=foreground2],input[type=submit][variant-=foreground2],input[type=reset][variant-=foreground2],[is-~=button][variant-=foreground2]{--button-primary: var(--foreground2);--button-secondary: var(--background0)}button[variant-=background0],input[type=button][variant-=background0],input[type=submit][variant-=background0],input[type=reset][variant-=background0],[is-~=button][variant-=background0]{--button-primary: var(--background0);--button-secondary: var(--foreground0)}button[variant-=background1],input[type=button][variant-=background1],input[type=submit][variant-=background1],input[type=reset][variant-=background1],[is-~=button][variant-=background1]{--button-primary: var(--background1);--button-secondary: var(--foreground0)}button[variant-=background2],input[type=button][variant-=background2],input[type=submit][variant-=background2],input[type=reset][variant-=background2],[is-~=button][variant-=background2]{--button-primary: var(--background2);--button-secondary: var(--foreground0)}button[variant-=background3],input[type=button][variant-=background3],input[type=submit][variant-=background3],input[type=reset][variant-=background3],[is-~=button][variant-=background3]{--button-primary: var(--background3);--button-secondary: var(--foreground0)}}@layer components{@property --separator-width{syntax: "<length>"; inherits: true; initial-value: 2px;}[is-~=separator]{--separator-bg-fallback: var(--separator-background, transparent);display:inline-flex;position:relative}[is-~=separator][direction-=x],[is-~=separator][direction-=horizontal],[is-~=separator]:not([direction-]){height:1lh;background-image:linear-gradient(0deg,var(--separator-bg-fallback) 0,var(--separator-bg-fallback) calc(.5lh - var(--separator-width) / 2),var(--separator-color) calc(.5lh - (var(--separator-width) / 2)),var(--separator-color) calc(.5lh + (var(--separator-width) / 2)),var(--separator-bg-fallback) calc(.5lh + (var(--separator-width) / 2)),var(--separator-bg-fallback))}[is-~=separator][direction-=x][cap-^=bisect]:before,[is-~=separator][direction-=horizontal][cap-^=bisect]:before,[is-~=separator]:not([direction-])[cap-^=bisect]:before{left:-.5ch}[is-~=separator][direction-=x][cap-$=bisect]:after,[is-~=separator][direction-=horizontal][cap-$=bisect]:after,[is-~=separator]:not([direction-])[cap-$=bisect]:after{right:-.5ch}[is-~=separator][direction-=x][cap-^=edge]:not([cap-=edge]),[is-~=separator][direction-=horizontal][cap-^=edge]:not([cap-=edge]),[is-~=separator]:not([direction-])[cap-^=edge]:not([cap-=edge]){clip-path:inset(0 -.5ch 0 .5ch)}[is-~=separator][direction-=x][cap-$=edge]:not([cap-=edge]),[is-~=separator][direction-=horizontal][cap-$=edge]:not([cap-=edge]),[is-~=separator]:not([direction-])[cap-$=edge]:not([cap-=edge]){clip-path:inset(0 .5ch 0 -.5ch)}[is-~=separator][direction-=x][cap-=edge],[is-~=separator][direction-=horizontal][cap-=edge],[is-~=separator]:not([direction-])[cap-=edge]{clip-path:inset(0 .5ch)}[is-~=separator][direction-=y],[is-~=separator][direction-=vertical]{width:1ch;background-image:linear-gradient(to right,var(--separator-bg-fallback) 0,var(--separator-bg-fallback) calc(.5ch - (var(--separator-width) / 2)),var(--separator-color) calc(.5ch - (var(--separator-width) / 2)),var(--separator-color) calc(.5ch + (var(--separator-width) / 2)),var(--separator-bg-fallback) calc(.5ch + (var(--separator-width) / 2)),var(--separator-bg-fallback))}[is-~=separator][direction-=y][cap-^=bisect]:before,[is-~=separator][direction-=vertical][cap-^=bisect]:before{top:-.5lh}[is-~=separator][direction-=y][cap-$=bisect]:after,[is-~=separator][direction-=vertical][cap-$=bisect]:after{bottom:-.5lh}[is-~=separator][direction-=y][cap-^=edge]:not([cap-=edge]),[is-~=separator][direction-=vertical][cap-^=edge]:not([cap-=edge]){clip-path:inset(.5lh 0 -.5lh 0)}[is-~=separator][direction-=y][cap-$=edge]:not([cap-=edge]),[is-~=separator][direction-=vertical][cap-$=edge]:not([cap-=edge]){clip-path:inset(-.5lh 0 .5lh 0)}[is-~=separator][direction-=y][cap-=edge],[is-~=separator][direction-=vertical][cap-=edge]{clip-path:inset(.5lh 0)}[is-~=separator][cap-]:before,[is-~=separator][cap-]:after{content:"";position:absolute;width:1ch;height:1lh;background-image:inherit}}@layer components{h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);font-weight:var(--font-weight-bold)}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{color:inherit;background-color:var(--background1);padding:0 1ch}ol{list-style-position:inside}ol li>ol{margin-left:2ch}ul{list-style-type:none}ul li:before{color:inherit;content:"- "}ul[marker-=bullet] li:before{content:"• "}ul[marker-~=tree] li:before{content:"├ "}ul[marker-~=tree]:not([marker-^=open]) li:first-of-type:before{content:"┌ "}ul[marker-~=tree]:not([marker-$=open]) li:last-of-type:before{content:"└ "}ul li>ul{margin-left:2ch}p,blockquote,li,[is-~=typography-block]{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);color:var(--foreground1)}p:is(blockquote),blockquote:is(blockquote),li:is(blockquote),[is-~=typography-block]:is(blockquote){padding-left:2ch;position:relative}p:is(blockquote):before,blockquote:is(blockquote):before,li:is(blockquote):before,[is-~=typography-block]:is(blockquote):before{content:"";position:absolute;top:0;left:.5ch;width:var(--box-border-width, 2px);height:100%;translate:-50%;background-color:var(--background2)}p strong,blockquote strong,li strong,[is-~=typography-block] strong{font-weight:var(--font-weight-bold);color:var(--foreground0)}p a,blockquote a,li a,[is-~=typography-block] a{text-decoration:underline;color:var(--foreground2)}p code,blockquote code,li code,[is-~=typography-block] code{display:inline-block;background-color:var(--background1);padding-left:1ch;padding-right:1ch}}@layer components{[is-~=view]{position:relative}[is-~=view-content]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:round(down,100%,1ch);height:round(down,100%,1lh);overflow:hidden;word-break:break-all}}@layer base{:root{color-scheme:dark;--text: var(--foreground0);--subtext0: var(--foreground2);--overlay0: var(--gb-dark-fg4);--overlay1: var(--gb-dark-gray);--blue: var(--gb-blue);--green: var(--gb-green)}body{box-sizing:border-box;width:100%;max-width:80ch;margin:0 auto;padding:1ch 2ch;text-rendering:optimizeLegibility}html{scroll-behavior:smooth}p,li,blockquote{text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance;scroll-margin-top:2lh}:target{scroll-margin-top:2lh}::selection{background:var(--overlay0);color:var(--text)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:1px solid var(--blue);outline-offset:2px}.site-nav{display:flex;justify-content:space-between;align-items:center;gap:2ch;padding:1ch 0}.site-brand{color:var(--green);font-weight:700;flex-shrink:0}.site-nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5lh 2ch}.site-main{padding:2ch 0}.site-footer{padding:1ch 0}.site-footer-copy{color:var(--subtext0);padding-top:1ch}.post-list{list-style:none;padding:0;margin-top:1lh}.post-list li{padding:0}.post-list li:before,.post-list li::marker{content:none;display:none}.post-list-link{display:grid;grid-template-columns:11ch minmax(0,1fr) auto;align-items:start;column-gap:2ch;row-gap:.25lh;padding:.5lh 0;text-decoration:none}.post-list-date{color:var(--overlay1);white-space:nowrap;flex-shrink:0}.post-list-title{color:var(--text);min-width:0;overflow-wrap:anywhere}.post-list-tags{color:var(--overlay0);text-align:right;overflow-wrap:anywhere}.talk-list{list-style:none;padding:0;margin-top:1lh}.talk-list-item{margin-bottom:2lh;padding:1ch 0}.talk-list-heading{display:grid;grid-template-columns:11ch minmax(0,1fr);align-items:baseline;column-gap:2ch;row-gap:.25lh}.talk-list-date{color:var(--overlay1);white-space:nowrap;flex-shrink:0}.talk-list-title{color:var(--green);font-weight:700;overflow-wrap:anywhere}.talk-list-event{color:var(--subtext0);margin:.5lh 0;padding-left:14ch}.talk-list-description{padding-left:14ch}.talk-list-links{display:flex;flex-wrap:wrap;gap:.5lh 2ch;padding-left:14ch;margin-top:.5lh}.post-header{margin-bottom:2lh}.post-meta{color:var(--overlay1);margin-top:.5lh;overflow-wrap:anywhere}.post-backlink{margin-top:1lh}[is-~=typography-block]>*+*{margin-top:1lh}[is-~=typography-block]>*+h1,[is-~=typography-block]>*+h2{margin-top:2lh}[is-~=typography-block]>*+h3,[is-~=typography-block]>*+h4{margin-top:1.5lh}[is-~=typography-block] h1+*,[is-~=typography-block] h2+*,[is-~=typography-block] h3+*,[is-~=typography-block] h4+*{margin-top:.5lh}[is-~=typography-block] img{max-width:100%;height:auto;display:block;margin-top:1lh;margin-bottom:1lh}[is-~=typography-block] figure,[is-~=typography-block] pre{background:transparent!important}[is-~=typography-block] pre{margin-top:1lh;margin-bottom:1lh;padding:1.5em 2ch;overflow-x:auto;font-size:1.05em;line-height:1.6;border:1px solid var(--overlay0);border-radius:4px}[is-~=typography-block] pre code{font-size:inherit;line-height:inherit;background:transparent!important}[is-~=typography-block] blockquote,[is-~=typography-block] ul,[is-~=typography-block] ol{margin-top:1lh;margin-bottom:1lh}[is-~=typography-block] :is(h1,h2,h3,h4,h5,h6):target{color:var(--green)}[is-~=typography-block] .heading-anchor{margin-left:.5ch;color:var(--overlay1);text-decoration:none;opacity:0;transition:opacity .12s ease}[is-~=typography-block] :is(h1,h2,h3,h4,h5,h6):hover .heading-anchor,[is-~=typography-block] :is(h1,h2,h3,h4,h5,h6):focus-within .heading-anchor,[is-~=typography-block] :is(h1,h2,h3,h4,h5,h6):target .heading-anchor{opacity:1}[is-~=typography-block] .heading-anchor:hover{color:var(--blue)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:900px){.site-nav{flex-direction:column;align-items:flex-start}.site-nav-links{justify-content:flex-start;gap:.5lh 1.5ch}.post-list-link{grid-template-columns:11ch minmax(0,1fr)}.post-list-tags{grid-column:2;text-align:left}}@media(max-width:768px){body{padding-inline:1ch}.site-main{padding:1.5ch 0}.post-list-link,.talk-list-heading{grid-template-columns:1fr}.post-list-date,.post-list-tags,.talk-list-date{white-space:normal}.post-list-tags{grid-column:auto;text-align:left}.talk-list-event,.talk-list-description,.talk-list-links{padding-left:0}.post-meta{overflow-wrap:anywhere}[is-~=typography-block] pre{padding:.75em .5ch;font-size:.82rem;line-height:1.4}[is-~=typography-block] pre code{font-size:inherit}}}
