.pub-row{display:flex;align-items:center}.social-icons a{display:inline-block;height:2.4rem;width:2.4rem;background-color:transparent;color:#043361 !important;border-radius:100%;text-align:center;font-size:1.15rem;line-height:2.5rem;margin-right:1rem}@media (prefers-color-scheme: dark){.social-icons a{color:#3eb7f0 !important}}.social-icons a:last-child{margin-right:0}.social-icons a:hover{background-color:white;color:black;transform:scale(1.2)}@media (prefers-color-scheme: dark){.social-icons a:last-child{margin-right:0}.social-icons a:hover{background-color:#20212b;color:black;transform:scale(1.2)}}.icon-button{background-color:white;border-radius:3.6rem;cursor:pointer;display:inline-block;font-size:2.0rem;height:3.6rem;line-height:3.6rem;margin:0 5px;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:3.6rem}.icon-button span{border-radius:0;display:block;height:0;left:50%;margin:0;position:absolute;top:50%;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;width:0}.icon-button:hover span{width:3.6rem;height:3.6rem;border-radius:3.6rem;margin:-1.8rem}.twitter span{background-color:#4099ff}.facebook span{background-color:#4286f4}.linkedin span{background-color:#0077B5}.github span{background-color:#000}email{font-size:14px;font-family:"Ubuntu Mono"}.icon-button i{background:none;color:white;height:3.6rem;left:0;line-height:3.6rem;position:absolute;top:0;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;width:3.6rem;z-index:10}.icon-button .icon-twitter{color:#4099ff}.icon-button .icon-facebook{color:#4286f4}.icon-button .icon-github{color:#000}.icon-button .icon-linkedin{color:#0077B5}.icon-button:hover .icon-twitter,.icon-button:hover .icon-facebook,.icon-button:hover .icon-github,.icon-button:hover .icon-linkedin{color:white}autocolor{color:#595959}lightonly{visibility:visible}darkonly{visibility:hidden}education{font-weight:500;font-size:115%}papertitle{font-weight:600;font-size:100%}@media (prefers-color-scheme: dark){body{background-color:#20212b;color:#dadbdf}autocolor{color:#dadbdf}lightonly{visibility:hidden}darkonly{visibility:visible}papertitle{color:#eeeff0}}.image{border-radius:0.35em;border:0;display:inline-block;position:relative}.image:before{-moz-transition:opacity 0.2s ease-in-out;-webkit-transition:opacity 0.2s ease-in-out;-ms-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out;border-radius:0.35em;content:'';display:block;height:100%;left:0;opacity:0.5;position:absolute;top:0;width:100%}.image.avatar{border-radius:100%}.image.avatar:before{display:none}.image.avatar img{border-radius:100%;width:45%;padding:20px}#header .image.avatar{margin:0 0 1em 0;width:8.00em}h3,h4,h5,h6{font-weight:600;color:#043361;margin:0 0 20px}h1{font-weight:500;color:#043361;margin:0 0 20px}h2{color:#043361;font-weight:500;margin:2px 0px 15px;font-size:157%}@media (prefers-color-scheme: dark){h1,h3,h4,h5,h6{color:#3eb7f0}h2{color:#3eb7f0}}p,ul,ol,table,pre,dl{margin:0 0 20px}h1,h2,h3{line-height:1.1}h1{font-size:28px}a{color:#39c;text-decoration:none}a:hover{color:#069}@media (prefers-color-scheme: dark){a{color:#3eb7f0}}a small{font-size:11px;color:#777;margin-top:-0.3em;display:block}a:hover small{color:#777}.wrapper{width:960px;margin:0 auto}blockquote{border-left:1px solid #e5e5e5;margin:0;padding:0 0 0 20px;font-style:italic}code,pre{font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;color:#333}pre{max-width:500px;padding:8px 15px;background:#f8f8f8;border-radius:5px;border:1px solid #e5e5e5;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:5px 10px;border-bottom:1px solid #e5e5e5}dt{color:#444;font-weight:500}th{color:#444}@media (prefers-color-scheme: dark){th{color:#3eb7f0}dt{color:#3eb7f0}}img{max-width:100%}header{width:232px;float:left;position:fixed;-webkit-font-smoothing:subpixel-antialiased;padding-top:4.0em;text-align:center}header ul{list-style:none;height:40px;padding:0;background:#f4f4f4;border-radius:5px;border:1px solid #e0e0e0;width:270px}header li{width:89px;float:left;border-right:1px solid #e0e0e0;height:40px}header li:first-child a{border-radius:5px 0 0 5px}header li:last-child a{border-radius:0 5px 5px 0}header ul a{line-height:1;font-size:11px;color:#999;display:block;text-align:center;padding-top:6px;height:34px}header ul a:hover{color:#999}header ul a:active{background-color:#f0f0f0}strong{color:#222;font-weight:500}@media (prefers-color-scheme: dark){strong{color:#eeeff0}}header ul li+li+li{border-right:none;width:89px}header ul a strong{font-size:14px;display:block;color:#222}section{width:650px;float:right;padding-top:4.0em;padding-bottom:50px}small{font-size:11px}hr{border:0;background:#e5e5e5;height:1px;margin:0 0 20px}footer{width:232px;float:left;position:fixed;bottom:30px;-webkit-font-smoothing:subpixel-antialiased;text-align:center}@media print, screen and (max-width: 960px){.pub-row{display:flex;align-items:center}div.wrapper{width:auto;margin:0}header,section,footer{float:none;position:static;width:auto}header{padding-right:320px}section{border:1px solid #e5e5e5;border-width:1px 0;padding:20px 0;margin:0 0 20px}header a small{display:inline}header ul{position:absolute;right:50px;top:52px}.image.avatar img{border-radius:100%;width:117px;padding:20px}#head1o2{visibility:hidden}#head2o2{visibility:hidden}}@media print, screen and (max-width: 960px){body{word-wrap:break-word;padding:15px}.pub-row{display:flex;align-items:center}header{padding:0}pre,code{word-wrap:normal}}@media print, screen and (max-width: 480px){.pub-row{display:block;align-items:center}body{padding:15px}header ul{width:99%}header li,header ul li+li+li{width:33%}.image.avatar img{border-radius:100%;width:95px;padding:20px}#head1o2{visibility:hidden}#head2o2{visibility:hidden}}@media print{body{padding:0.4in;font-size:12pt;color:#444}}.biblink{text-decoration:none;display:inline;margin-right:0px}.fakelink{text-decoration:none;cursor:pointer}.bibref{font-size:70%;margin-top:10px;margin-left:0px;display:none;font-family:monospace}:root{--weekly-ink: #043361;--weekly-accent: #1688b7;--weekly-muted: #667684;--weekly-line: #dbe6eb;--weekly-soft: #f2f8fa;--weekly-paper: #ffffff;--weekly-code: #17384d}.profile-name-link,.profile-name-link:hover{color:inherit;text-decoration:none}.profile-name-link:focus-visible,.weekly-entry a:focus-visible,.weekly-post a:focus-visible{outline:2px solid var(--weekly-accent);outline-offset:4px}.weekly-page,.weekly-post{color:inherit}.weekly-hero{margin:0 0 2.15rem}.weekly-eyebrow{margin:0 0 0.8rem;color:var(--weekly-accent);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.75rem;font-weight:500;letter-spacing:0.13em;text-transform:uppercase}.weekly-hero h1,.weekly-post__header h1{margin:0;color:var(--weekly-ink);font-size:2.25rem;font-weight:500;letter-spacing:-0.035em;line-height:1.16}.weekly-manifesto{max-width:39rem;margin:1rem 0 1.6rem;color:#465762;font-size:1rem;line-height:1.8}.weekly-signal{position:relative;height:6.5rem;overflow:hidden;border:1px solid var(--weekly-line);background-color:var(--weekly-soft);background-image:linear-gradient(to right, rgba(4,51,97,0.045) 1px, transparent 1px),linear-gradient(to bottom, rgba(4,51,97,0.045) 1px, transparent 1px);background-size:3.25rem 100%, 100% 1.625rem}.weekly-signal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.weekly-signal__label{position:absolute;z-index:1;top:0.7rem;left:0.85rem;color:var(--weekly-muted);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.67rem;letter-spacing:0.08em}.weekly-signal__grid{fill:none;stroke:rgba(4,51,97,0.08);stroke-width:1}.weekly-signal__line{fill:none;stroke:var(--weekly-accent);stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-width:2.4;vector-effect:non-scaling-stroke;animation:weekly-line-draw 1s cubic-bezier(0.22, 1, 0.36, 1) 120ms forwards}.weekly-signal__point{fill:var(--weekly-paper);stroke:var(--weekly-accent);stroke-width:2;transform-box:fill-box;vector-effect:non-scaling-stroke;animation:weekly-point-in 280ms ease-out 920ms both}@keyframes weekly-line-draw{to{stroke-dashoffset:0}}@keyframes weekly-point-in{from{opacity:0;transform:scale(0.4);transform-origin:center}to{opacity:1;transform:scale(1);transform-origin:center}}.weekly-archive__heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.weekly-archive__heading{padding-bottom:0.7rem;border-bottom:1px solid var(--weekly-ink)}.weekly-archive__heading h2{margin-bottom:0}.weekly-archive__heading>span{color:var(--weekly-muted);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.72rem;letter-spacing:0.04em}.weekly-list{padding:0;margin:0;list-style:none}.weekly-entry{display:grid;grid-template-columns:6.9rem minmax(0, 1fr);gap:1.35rem;padding:1.55rem 0;border-bottom:1px solid var(--weekly-line)}.weekly-entry__index{padding-top:0.18rem;font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;line-height:1.35}.weekly-entry__index time{display:block}.weekly-entry__index time{color:var(--weekly-ink);font-size:0.78rem}.weekly-entry__title-row{display:flex;align-items:baseline;gap:0.7rem}.weekly-entry h2{margin:0;font-size:1.18rem;font-weight:600;line-height:1.35}.weekly-entry h2 a{color:var(--weekly-ink)}.weekly-entry h2 a:hover{color:var(--weekly-accent)}.weekly-entry article>p{margin:0.55rem 0 0;color:#566671;font-size:0.9rem;line-height:1.65}.weekly-latest{color:var(--weekly-accent);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.64rem;letter-spacing:0.08em;text-transform:uppercase}.weekly-tags{display:flex;flex-wrap:wrap;margin-top:0.7rem;color:var(--weekly-muted);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.69rem}.weekly-tags span+span::before{margin:0 0.45rem;color:var(--weekly-line);content:"/"}.weekly-empty{padding:0.9rem 1rem;border-left:2px solid var(--weekly-accent);background:var(--weekly-soft);color:var(--weekly-muted)}.weekly-empty--archive{margin-top:1.5rem}.weekly-empty p:last-child{margin-bottom:0}.weekly-post__back{display:inline-block;margin-bottom:1.65rem;color:var(--weekly-muted);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.74rem}.weekly-post__back:hover{color:var(--weekly-ink)}.weekly-post__header{padding-bottom:1.6rem;border-bottom:1px solid var(--weekly-line)}.weekly-post__meta{display:flex;flex-wrap:wrap;gap:0.45rem 1.1rem;margin:1rem 0 0;color:var(--weekly-muted);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.73rem}.weekly-post__meta span::before{margin-right:1.1rem;color:var(--weekly-line);content:"/"}.weekly-post__summary{max-width:37rem;margin:1.05rem 0 0;color:#52636e;font-size:0.96rem;line-height:1.75}.weekly-post__content{padding:1.65rem 0 1.2rem;font-size:0.96rem;line-height:1.82}.weekly-post__content h2{margin:2rem 0 0.85rem;padding-left:0.8rem;border-left:2px solid var(--weekly-accent);color:var(--weekly-ink);font-size:1.25rem;font-weight:600}.weekly-post__content h2:first-child{margin-top:0}.weekly-post__content h3{margin:1.6rem 0 0.7rem;color:var(--weekly-ink);font-size:1.04rem}.weekly-post__content p,.weekly-post__content ul,.weekly-post__content ol{margin-bottom:1rem}.weekly-post__content li+li{margin-top:0.38rem}.weekly-post__content blockquote{margin:0 0 1.45rem;padding:1rem 1.1rem;border:0;border-left:2px solid var(--weekly-accent);background:var(--weekly-soft);color:var(--weekly-code);font-style:normal;line-height:1.7}.weekly-post__content blockquote p:last-child{margin-bottom:0}.weekly-post__content code,.weekly-empty code{padding:0.1em 0.32em;background:var(--weekly-soft);color:var(--weekly-code);font-size:0.88em}.weekly-post__content input[type="checkbox"]{margin:0 0.45rem 0 -1.15rem;accent-color:var(--weekly-accent)}.weekly-post__nav{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem;padding-top:1.15rem;border-top:1px solid var(--weekly-line)}.weekly-post__nav-link{min-width:0;padding:0.85rem 0}.weekly-post__nav-link--next{grid-column:2;text-align:right}.weekly-post__nav-link span,.weekly-post__nav-link strong{display:block}.weekly-post__nav-link span{margin-bottom:0.3rem;color:var(--weekly-muted);font-family:"Ubuntu Mono", "SFMono-Regular", Consolas, monospace;font-size:0.69rem;font-weight:400}.weekly-post__nav-link strong{overflow:hidden;color:var(--weekly-ink);font-size:0.84rem;text-overflow:ellipsis;white-space:nowrap}.weekly-post__nav-link:hover strong{color:var(--weekly-accent)}@media print, screen and (max-width: 600px){.weekly-hero h1,.weekly-post__header h1{font-size:1.85rem}.weekly-signal{height:5.6rem}.weekly-entry{grid-template-columns:1fr;gap:0.7rem;padding:1.3rem 0}.weekly-post__meta span{width:100%}.weekly-post__meta span::before{display:none}}@media (prefers-reduced-motion: reduce){.weekly-signal__line,.weekly-signal__point{animation:none;transition:none}.weekly-signal__line{stroke-dashoffset:0}}@media (prefers-color-scheme: dark){:root{--weekly-ink: #72cdf2;--weekly-accent: #3eb7f0;--weekly-muted: #9daab4;--weekly-line: #3a414d;--weekly-soft: #272a35;--weekly-paper: #20212b;--weekly-code: #d8e6ed}.weekly-manifesto,.weekly-entry article>p,.weekly-post__summary{color:#b8c1c8}.weekly-signal{background-image:linear-gradient(to right, rgba(114,205,242,0.06) 1px, transparent 1px),linear-gradient(to bottom, rgba(114,205,242,0.06) 1px, transparent 1px)}.weekly-signal__grid{stroke:rgba(114,205,242,0.09)}.weekly-post__content code,.weekly-empty code{color:#d8e6ed}}
