:root{--syn-comment: #6f685b;--syn-keyword: #9a3d05;--syn-string: #3f6b32;--syn-number: #6b4fa8;--syn-func: #1c5570;--syn-type: #7a6114;--syn-var: #7c4a2d;--syn-punct: #6b6558;--syn-error: #b1201d;--syn-error-bg: #b1201d1a;--syn-ins-bg: #1a7f3714;--syn-del-bg: #b1201d14;--syn-ins-fg: #1a6d33;--syn-del-fg: #a3231f}@media(prefers-color-scheme: dark){:root{--syn-comment: #8d867a;--syn-keyword: #e08a45;--syn-string: #a6c98d;--syn-number: #c3a2ec;--syn-func: #7fb6d6;--syn-type: #ddc477;--syn-var: #dda58c;--syn-punct: #8b857a;--syn-error: #ec8b7f;--syn-error-bg: #ec8b7f1f;--syn-ins-bg: #79c98d1a;--syn-del-bg: #ec8b7f1a;--syn-ins-fg: #8fd0a1;--syn-del-fg: #ef9a8f}}.highlight .c,.highlight .ch,.highlight .cd,.highlight .cm,.highlight .cp,.highlight .cpf,.highlight .c1,.highlight .cs{color:var(--syn-comment);font-style:italic}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:var(--syn-keyword)}.highlight .kt,.highlight .nc,.highlight .nn,.highlight .no,.highlight .ne{color:var(--syn-type)}.highlight .nf,.highlight .fm,.highlight .nb,.highlight .bp,.highlight .na,.highlight .nt{color:var(--syn-func)}.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi,.highlight .vm,.highlight .nl,.highlight .py{color:var(--syn-var)}.highlight .s,.highlight .sa,.highlight .sb,.highlight .sc,.highlight .dl,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .s1,.highlight .ss,.highlight .sr{color:var(--syn-string)}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,.highlight .il{color:var(--syn-number)}.highlight .o,.highlight .ow,.highlight .p,.highlight .pi,.highlight .ni{color:var(--syn-punct)}.highlight .err{color:var(--syn-error);background-color:var(--syn-error-bg);border-radius:2px}.highlight .gd{color:var(--syn-del-fg);background-color:var(--syn-del-bg)}.highlight .gi{color:var(--syn-ins-fg);background-color:var(--syn-ins-bg)}.highlight .gh,.highlight .gu{color:var(--syn-func);font-weight:600}.highlight .gp{color:var(--syn-comment);user-select:none}.highlight .go{color:var(--ink-muted)}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .gr,.highlight .gt{color:var(--syn-error)}.highlight .w{color:var(--rule-strong)}.highlight .lineno,.highlight .gl{color:var(--ink-faint);opacity:.6;user-select:none;padding-right:.85rem}@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/Newsreader-latin.woff2") format("woff2");unicode-range:u+0000-00ff,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/Newsreader-latin-ext.woff2") format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Newsreader";font-style:italic;font-weight:400 700;font-display:swap;src:url("/assets/fonts/Newsreader-italic-latin.woff2") format("woff2");unicode-range:u+0000-00ff,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Newsreader";font-style:italic;font-weight:400 700;font-display:swap;src:url("/assets/fonts/Newsreader-italic-latin-ext.woff2") format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/JetBrainsMono-Regular.woff2") format("woff2")}:root{--serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--paper: #f5f2ec;--paper-raised: #ebe6da;--ink: #1a1815;--ink-muted: #565046;--ink-faint: #6f685b;--rule: #dcd5c5;--rule-strong: #c2b9a6;--accent: #9e3413;--accent-wash: #9e34131f;--glow: #fffdf6;--image-mat: #ebe6da;--measure: 36rem;--gutter: 0rem;--gap: 0rem;--margin-col: 0rem;--pad: 1.5rem;--root-max: 19.5px;--layout-breakpoint: 67.5625rem;--step: 1.6rem;color-scheme:light dark}@media(prefers-color-scheme: dark){:root{--paper: #15171a;--paper-raised: #1d2025;--ink: #ddd8cd;--ink-muted: #9b958a;--ink-faint: #8a8377;--rule: #2b2f35;--rule-strong: #3f454d;--accent: #d59cd5;--accent-wash: #e08a4526;--glow: #1f242b}}@media(min-width: 67.5625rem){:root{--gutter: 4.5rem;--gap: 2rem;--margin-col: 13.5rem}}@media(min-width: 87.5rem){:root{--gutter: 6rem;--gap: 2.5rem;--margin-col: 16rem}}@media(max-width: 34rem){:root{--pad: 1.15rem;--step: 1.35rem}}*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,pre{margin:0}html{font-size:clamp(17px,.95rem + .2vw,var(--root-max));-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:var(--serif);font-weight:400;font-size:1rem;line-height:1.62;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(75rem 32rem at 14% -6%, var(--glow) 0%, transparent 68%);background-repeat:no-repeat;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-wrap:break-word}::selection{background:var(--accent);color:var(--paper)}.wrap{width:100%;max-width:calc(var(--gutter) + var(--measure) + var(--gap) + var(--margin-col) + 2*var(--pad));margin-inline:auto;padding-inline:var(--pad);padding-bottom:calc(var(--step)*2)}.column{max-width:var(--measure);margin-left:var(--gutter)}.skip-link{position:absolute;left:-9999px;top:0;padding:.5rem .9rem;background:var(--accent);color:var(--paper);font-family:var(--mono);font-size:.8rem;z-index:10}.skip-link:focus{left:.5rem;top:.5rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.comment__meta,.comments__title,.colophon__links .key,.talk__links,.talk__venue,.section-nav,.entry .date,.year__label,.index-lead .more,.index-lead .label,.site-foot,.post-kicker,.alert p:first-child>strong:first-child,table th,.highlighter-rouge::before,.masthead__about{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-faint)}.masthead{padding-top:calc(var(--step)*1.6);padding-bottom:var(--step);margin-bottom:calc(var(--step)*1.4);position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:0 1rem}.masthead__signal{position:absolute;left:0;right:0;bottom:0;height:26px;-webkit-mask-image:linear-gradient(to right, #000 0%, #000 62%, transparent 96%);mask-image:linear-gradient(to right, #000 0%, #000 62%, transparent 96%)}.masthead__signal svg{display:block;width:100%;height:100%}.masthead__signal path{fill:none;stroke:url("#signal-ramp");stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.masthead .signal-ramp__lead{stop-color:var(--accent)}.masthead .signal-ramp__body,.masthead .signal-ramp__tail{stop-color:var(--rule-strong)}.masthead__title{font-size:1.5rem;font-weight:600;line-height:1.1;letter-spacing:-0.018em}.masthead__title a{color:inherit;text-decoration:none}.masthead__title a:hover{color:var(--accent)}.masthead__about{display:none;flex:none;color:var(--ink-muted);text-decoration:none;border-bottom:1px solid var(--rule)}.masthead__about:hover{color:var(--accent);border-bottom-color:var(--accent)}.prose>*+*{margin-top:var(--step)}.prose p,.prose ul,.prose ol,.prose dl{line-height:1.65}.prose div>*+*,.prose details>*+*,.prose li>*+*,.prose td>*+*,.prose th>*+*{margin-top:.7rem}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-weight:600;line-height:1.2;letter-spacing:-0.012em;margin-bottom:0;position:relative;scroll-margin-top:1.5rem}.prose :is(h1,h2,h3,h4,h5,h6)+:not(h1,h2,h3,h4,h5,h6){margin-top:.55rem}.prose :is(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6){margin-top:calc(var(--step)*1.1)}.prose h1{font-size:1.62rem;margin-top:calc(var(--step)*2)}.prose h2{font-size:1.4rem;margin-top:calc(var(--step)*1.7)}.prose h3{font-size:1.18rem;margin-top:calc(var(--step)*1.35)}.prose h4,.prose h5,.prose h6{font-size:1rem;font-family:var(--mono);font-weight:600;letter-spacing:.02em;margin-top:calc(var(--step)*1.1)}.prose .hanchor{position:absolute;right:calc(100% + .9rem);top:.06em;font-family:var(--mono);font-size:.78em;font-weight:400;color:var(--accent);opacity:.4;text-decoration:none;transition:opacity .15s ease}.prose .hanchor:hover,.prose .hanchor:focus-visible{opacity:1}@media(max-width: 67.5625rem){.prose .hanchor{position:static;margin-right:.4em;font-size:.7em;vertical-align:.1em}}.prose ul,.prose ol{padding-left:1.35rem}.prose li+li{margin-top:.35rem}.prose li>ul,.prose li>ol{margin-top:.35rem}.prose ul{list-style:none;padding-left:1.15rem}.prose ul>li{position:relative}.prose ul>li::before{content:"";position:absolute;left:-1.05rem;top:.66em;width:.38rem;height:1px;background:var(--accent);opacity:.75}.prose ul ul>li::before{background:var(--rule-strong)}.prose ol{list-style:none;counter-reset:ol;padding-left:1.85rem}.prose ol>li{counter-increment:ol;position:relative}.prose ol>li::before{content:counter(ol) ".";position:absolute;right:calc(100% + .5rem);top:.06em;font-family:var(--mono);font-size:.75em;color:var(--ink-faint);font-variant-numeric:tabular-nums}.prose dt{font-weight:600}.prose dd{margin-left:1.35rem}.prose strong,.prose b{font-weight:700}.prose hr{border:0;height:1px;background:linear-gradient(to right, var(--rule-strong), var(--rule) 45%, transparent);margin-block:calc(var(--step)*1.6)}.prose sup,.prose sub{line-height:0;font-size:.7em}a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.17em;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--accent);text-decoration-thickness:2px}blockquote{padding-left:1.15rem;border-left:2px solid var(--rule-strong);color:var(--ink-muted)}blockquote>*+*{margin-top:.7rem}code,kbd,samp{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}:not(pre)>code{font-size:.82em;background:var(--paper-raised);border:1px solid var(--rule);border-radius:3px;padding:.08em .26em;color:var(--ink);white-space:break-spaces;word-break:break-word}a :not(pre)>code,:not(pre)>code:has(a){color:inherit}kbd{font-size:.78em;background:var(--paper);border:1px solid var(--rule-strong);border-bottom-width:2px;border-radius:3px;padding:.08em .36em;color:var(--ink);white-space:nowrap}.highlighter-rouge{position:relative}.highlighter-rouge::before{content:attr(data-lang);position:absolute;z-index:1;top:0;right:.85rem;transform:translateY(-50%);padding-inline:.4rem;background:var(--paper);font-size:.6rem;line-height:1;color:var(--ink-faint);pointer-events:none}.highlighter-rouge:not([data-lang])::before{content:none}pre{font-family:var(--mono);font-size:.78rem;line-height:1.55;background:var(--paper-raised);border:1px solid var(--rule);border-left:2px solid var(--rule-strong);border-radius:3px;padding:.85rem 1rem;overflow-x:auto;tab-size:4;color:var(--ink)}pre code{background:none;border:0;padding:0;font-size:inherit;color:inherit}.prose details{border:1px solid var(--rule);border-left:2px solid var(--rule-strong);border-radius:3px;padding:0 .9rem}.prose details>summary{font-family:var(--mono);font-size:.78rem;color:var(--ink);padding:.6rem 0;cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:.5rem}.prose details>summary::-webkit-details-marker{display:none}.prose details>summary::before{content:"";width:0;height:0;border-left:.5rem solid var(--accent);border-top:.29rem solid rgba(0,0,0,0);border-bottom:.29rem solid rgba(0,0,0,0);align-self:center;transition:transform .15s ease;display:inline-block}.prose details>summary:hover{color:var(--accent)}.prose details[open]{padding-bottom:.9rem}.prose details[open]>summary{margin-bottom:.9rem;border-bottom:1px solid var(--rule);color:var(--accent)}.prose details[open]>summary::before{transform:rotate(90deg)}.prose details .highlighter-rouge{margin-inline:-0.9rem}.prose details pre{border-inline:0;border-radius:0}@media(prefers-reduced-motion: reduce){.prose details>summary::before{transition:none}}.table-scroll{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:.85rem;font-variant-numeric:tabular-nums}table th,table td{padding:.45rem .7rem;text-align:left;border:0;border-bottom:1px solid var(--rule);vertical-align:top}table th:first-child,table td:first-child{padding-left:0}table th:last-child,table td:last-child{padding-right:0}table th{color:var(--ink-muted);border-bottom:1px solid var(--rule-strong);letter-spacing:.055em;line-height:1.35}table tbody tr:last-child td{border-bottom:0}table tbody tr:hover td{background:var(--accent-wash)}img,video,canvas,svg{max-width:100%;height:auto}.prose img{display:block;margin-inline:auto;border:1px solid var(--rule);border-radius:3px;background:var(--image-mat)}.prose a img{border-color:var(--rule-strong)}iframe,embed,object{max-width:100%;border:0}iframe[src*=youtube],iframe[src*=vimeo]{width:100%;aspect-ratio:16/9;height:auto;border:1px solid var(--rule);border-radius:3px}.sn-ref{font-family:var(--mono);font-size:.62em;font-weight:600;line-height:0;vertical-align:super;color:var(--accent);text-decoration:none;padding-inline:.08em}.sn-ref:hover{color:var(--accent);text-decoration:underline}.sidenote{display:block;float:right;clear:right;width:var(--margin-col);margin-right:calc((var(--gap) + var(--margin-col))*-1);margin-top:.3rem;margin-bottom:.9rem;font-size:.76rem;line-height:1.5;color:var(--ink-muted);text-align:left;position:relative;padding-top:.35rem;border-top:1px solid var(--rule);overflow-wrap:anywhere}.sidenote .sn-num{font-family:var(--mono);font-size:.72em;font-weight:600;color:var(--accent);margin-right:.35em}.sidenote .sn-p+.sn-p{display:block;margin-top:.5rem}.sidenote :not(pre)>code{font-size:.86em}.sidenote a{text-decoration-thickness:1px}.prose .aside{float:right;clear:right;width:var(--margin-col);margin:.3rem calc((var(--gap) + var(--margin-col))*-1) .9rem 0;padding:.35rem 0 0;border:0;border-top:1px solid var(--rule);font-size:.76rem;font-style:normal;line-height:1.5;color:var(--ink-muted);overflow-wrap:anywhere}.prose .aside>*+*{margin-top:.5rem}.prose .aside :not(pre)>code{font-size:.86em}@media(max-width: 67.5625rem){.sidenote,.prose .aside{float:none;width:auto;margin-right:0;margin-block:.85rem;padding:.55rem 0 .55rem .9rem;border-top:0;border-left:2px solid var(--accent);background:var(--accent-wash)}.sn-ref{display:none}}.footnotes{margin-top:calc(var(--step)*2);padding-top:var(--step);border-top:1px solid var(--rule);font-size:.85rem;color:var(--ink-muted)}.alert{--alert: var(--rule-strong);border-left:2px solid var(--alert);background:var(--paper-raised);padding:.85rem 1.1rem;border-radius:0 3px 3px 0;color:var(--ink)}.alert>*+*{margin-top:.65rem}.alert p:first-child>strong:first-child{display:block;color:var(--alert);margin-bottom:.3rem}.alert :not(pre)>code{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);padding:0}.alert.alert-note{--alert: #0b5fa5}@media(prefers-color-scheme: dark){.alert.alert-note{--alert: #6fb2e8}}.alert.alert-tip{--alert: #1a7f37}@media(prefers-color-scheme: dark){.alert.alert-tip{--alert: #79c98d}}.alert.alert-important{--alert: #7145c4}@media(prefers-color-scheme: dark){.alert.alert-important{--alert: #b79ded}}.alert.alert-warning{--alert: #8a6100}@media(prefers-color-scheme: dark){.alert.alert-warning{--alert: #dfb051}}.alert.alert-caution{--alert: #b1201d}@media(prefers-color-scheme: dark){.alert.alert-caution{--alert: #ec8b7f}}blockquote.alert{border-left-color:var(--alert);color:var(--ink)}.post-header{margin-bottom:calc(var(--step)*1.5)}.post-kicker{display:flex;flex-wrap:wrap;gap:0 .5rem;margin-bottom:.7rem}.post-kicker .sep{color:var(--rule-strong)}.post-kicker a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule-strong)}.post-kicker a:hover{color:var(--accent);border-bottom-color:var(--accent)}.post-title{font-size:clamp(1.85rem,1.3rem + 2.1vw,2.85rem);font-weight:600;line-height:1.08;letter-spacing:-0.025em;text-wrap:balance}.post-rule{width:3.5rem;height:2px;background:var(--accent);margin:1.1rem auto 0 0;border:0}.post-body{margin-top:calc(var(--step)*1.5)}.site-foot{margin-top:calc(var(--step)*2.5);padding-top:var(--step);border-top:1px solid var(--rule);text-transform:none;letter-spacing:.02em;font-size:.7rem;line-height:1.75;color:var(--ink-faint);display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:0 .5rem}.site-foot a{color:var(--ink-muted);text-decoration:none;border-bottom:1px solid var(--rule)}.site-foot a:hover{color:var(--accent);border-bottom-color:var(--accent)}.site-foot .sep{color:var(--rule-strong)}.site-foot .rss{display:inline-flex;align-items:center;gap:.3rem;border-bottom:0}.site-foot .rss svg{width:.85em;height:.85em;fill:currentColor}.site-foot .foot-edit__short{display:none}@media(max-width: 34rem){.site-foot .foot-edit__long{display:none}.site-foot .foot-edit__short{display:inline}}.site-foot .store-path-row{flex-basis:100%}.site-foot .store-path{font-size:min(.7rem,2.3vw);letter-spacing:0;white-space:nowrap;color:inherit;background:none;border:0;padding:0}.index-lead{display:block;text-decoration:none;margin-bottom:calc(var(--step)*2);padding-left:1rem;border-left:2px solid var(--accent)}.index-lead .label{color:var(--accent);display:block;margin-bottom:.4rem}.index-lead .title{font-size:1.5rem;font-weight:600;line-height:1.15;letter-spacing:-0.02em;text-wrap:balance;display:block}.index-lead .excerpt{display:block;color:var(--ink-muted);font-size:.92rem;margin-top:.5rem}.index-lead .more{color:var(--accent);display:block;margin-top:.7rem}.index-lead:hover .title{color:var(--accent)}.year{margin-top:calc(var(--step)*2);position:relative}.year:first-of-type{margin-top:0}.year__label{font-size:.78rem;color:var(--ink-faint);padding-bottom:.4rem;margin-bottom:.6rem;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline}.year__label .count{font-size:.66rem;color:var(--rule-strong)}@media(min-width: 67.5625rem){.year__label{position:absolute;right:calc(100% + .9rem);top:.1rem;width:calc(var(--gutter) - .9rem);display:block;border-bottom:0;padding-bottom:0;margin-bottom:0;text-align:right;letter-spacing:.04em}.year__label .count{display:none}.year__list{border-top:1px solid var(--rule);padding-top:.35rem}}.year__list{list-style:none;margin:0;padding:0}.entry{display:grid;grid-template-columns:4.25rem 1fr;gap:0 .85rem;align-items:baseline;padding-block:.42rem}@media(max-width: 34rem){.entry{grid-template-columns:1fr;gap:.12rem;padding-block:.5rem}}.entry+.entry{border-top:1px solid var(--rule)}.entry .date{font-size:.68rem;white-space:nowrap}.entry a{text-decoration:none;line-height:1.35;color:var(--ink);text-decoration:underline;text-decoration-color:rgba(0,0,0,0);text-underline-offset:.17em}.entry:hover a{color:var(--accent);text-decoration-color:var(--accent)}.entry:hover .date{color:var(--accent)}.section-nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;padding-block:.6rem;border-block:1px solid var(--rule)}.section-nav a{color:var(--ink-muted);text-decoration:none;border-bottom:1px solid rgba(0,0,0,0)}.section-nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}.section-nav .sep{color:var(--rule-strong);user-select:none}.talks-section{margin-top:calc(var(--step)*2.5)}.talks-section .year{margin-top:var(--step)}.talks-section__title{font-size:1.4rem;font-weight:600;line-height:1.2;letter-spacing:-0.012em;margin-bottom:calc(var(--step)*1.15);padding-bottom:.35rem;border-bottom:2px solid var(--rule-strong);scroll-margin-top:1.5rem}.talk{padding-block:.8rem;scroll-margin-top:1.5rem}.talk+.talk{border-top:1px solid var(--rule)}.talk:target .talk__title{color:var(--accent)}.talk__title{display:block;font-size:1.02rem;font-weight:600;line-height:1.3;text-wrap:pretty}.talk__venue{display:block;font-size:.64rem;margin-top:.22rem}.talk__note{font-size:.87rem;line-height:1.5;color:var(--ink-muted);margin-top:.45rem}.talk__note p{margin:0}.talk__note p+p{margin-top:.4rem}.talk__links{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .45rem;font-size:.62rem;margin-top:.55rem}.talk__links a{color:var(--ink-muted);text-decoration:none;border-bottom:1px solid var(--rule-strong)}.talk__links a:hover{color:var(--accent);border-bottom-color:var(--accent)}.talk__links .sep{color:var(--rule-strong);user-select:none}.page-index{display:flow-root}.colophon{float:right;width:var(--margin-col);margin-right:calc((var(--gap) + var(--margin-col))*-1);margin-bottom:var(--step);scroll-margin-top:var(--step);font-size:.8rem;line-height:1.55;color:var(--ink-muted)}.colophon__avatar{width:100%;max-width:8.5rem;border-radius:3px;border:1px solid var(--rule-strong);display:block;margin-bottom:.85rem;filter:grayscale(0.35);transition:filter .3s ease}.colophon__avatar:hover{filter:grayscale(0)}.colophon__bio{margin-bottom:1rem}.colophon__bio a{text-decoration-color:var(--rule-strong)}.colophon__links{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.colophon__links li{padding-block:.4rem;border-bottom:1px solid var(--rule)}.colophon__links .key{display:block;font-size:.6rem;margin-bottom:.05rem}.colophon__links .val{display:block;font-family:var(--mono);font-size:.68rem}.colophon__links .val a{color:var(--ink-muted);text-decoration:none;border-bottom:1px solid var(--rule-strong)}.colophon__links .val a:hover{color:var(--accent);border-bottom-color:var(--accent)}@media(max-width: 67.5625rem){.masthead__about{display:inline-block}.page-index{display:flex;flex-direction:column}.colophon{float:none;width:100%;margin-right:0;margin-bottom:0;margin-top:calc(var(--step)*2);padding-top:var(--step);border-top:1px solid var(--rule);order:3;display:grid;grid-template-columns:8.5rem 1fr;gap:0 1.25rem;align-items:start}.colophon__avatar{margin-bottom:0;grid-row:span 2}.index-body{order:2}}@media(max-width: 67.5625rem)and (max-width: 30rem){.colophon{grid-template-columns:1fr;gap:1rem}.colophon__avatar{max-width:6.5rem}}.archive{--accent: var(--ink-faint);--accent-wash: #6f685b1a}.archive-embed{font-size:.88rem;font-style:italic;color:var(--ink-muted);border-left:2px solid var(--rule-strong);padding:.1rem 0 .1rem 1.1rem}.archive-note{font-size:.88rem;font-style:italic;line-height:1.55;color:var(--ink-muted);border-left:2px solid var(--rule-strong);padding:.1rem 0 .1rem 1.1rem;margin-bottom:calc(var(--step)*1.5)}.prose object,.prose embed{max-width:100%}.prose p code.oldblog{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:bottom}.prose font{font-size:inherit !important;font-family:inherit !important}.prose del{color:var(--ink-faint)}.comments{margin-top:calc(var(--step)*2.5);padding-top:var(--step);border-top:1px solid var(--rule)}.comments__title{margin-bottom:var(--step)}.comment{font-size:.88rem;line-height:1.55;color:var(--ink-muted);padding-left:.9rem;border-left:1px solid var(--rule)}.comment+.comment{margin-top:1.1rem}.comment__meta{font-size:.63rem;margin-bottom:.3rem}.comment__meta .who{color:var(--ink)}.comment p+p{margin-top:.5rem}@media(prefers-reduced-motion: no-preference){@keyframes rise{from{opacity:0;transform:translateY(0.5rem)}to{opacity:1;transform:none}}.rise{animation:rise .5s cubic-bezier(0.22, 0.68, 0.35, 1) backwards;animation-delay:calc(var(--i, 0)*60ms)}@keyframes signal-sweep{to{stroke-dashoffset:0}}.masthead__signal path{stroke-dasharray:100;stroke-dashoffset:100;animation:signal-sweep 1.1s cubic-bezier(0.32, 0.5, 0.3, 1) .18s forwards}}@media print{:root{--paper: #fff;--paper-raised: #fff;--ink: #000;--ink-muted: #333;--ink-faint: #555;--rule: #bbb;--rule-strong: #888;--accent: #000;--gutter: 0rem;--margin-col: 0rem;--gap: 0rem}body{background:#fff}.colophon,.skip-link{display:none}details{border:0;padding:0}details>summary::before{content:none}.sidenote,.prose .aside{float:none;width:auto;margin-right:0;border-left:1px solid #999;padding-left:.75rem;border-top:0;background:none}pre,blockquote,details,.alert{break-inside:avoid}a::after{content:" (" attr(href) ")";font-size:.75em;color:#555}a[href^="#"]::after{content:""}}/*# sourceMappingURL=base.css.map */