@font-face{font-display:swap;font-family:jetbrains mono;font-style:normal;font-weight:400;src:url(/assets/fonts/jetbrains-mono-v20-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:jetbrains mono;font-style:normal;font-weight:700;src:url(/assets/fonts/jetbrains-mono-v20-latin-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:normal;font-weight:400;src:url(/assets/fonts/inter-v18-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:italic;font-weight:400;src:url(/assets/fonts/inter-v18-latin-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:normal;font-weight:500;src:url(/assets/fonts/inter-v18-latin-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:italic;font-weight:500;src:url(/assets/fonts/inter-v18-latin-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:normal;font-weight:600;src:url(/assets/fonts/inter-v18-latin-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:italic;font-weight:600;src:url(/assets/fonts/inter-v18-latin-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:normal;font-weight:700;src:url(/assets/fonts/inter-v18-latin-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:inter;font-style:italic;font-weight:700;src:url(/assets/fonts/inter-v18-latin-700italic.woff2)format("woff2")}:root{--color-background:#1e1e1e;--color-text-primary:#e0e7ef;--color-text-secondary:#9fadbd;--color-accent:#82aaff;--color-accent-hover:#a1c1ff;--color-border:#3a3f4c;--color-code-background:#2a2f3a;--color-inline-code-background:#000000;--color-inline-code-text:#00d3d0;--color-card-background:#252a31;--color-button-text:#1e1e1e;--font-family-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--font-family-heading:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--font-family-monospace:"JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--base-font-size:16px;--line-height-base:1.65;--line-height-heading:1.3;--container-width:900px;--content-padding-x:20px;--spacing-unit:1rem;--transition-fast:all 0.15s ease-in-out}html[data-theme=light]{--color-background:#fdfdfd;--color-text-primary:#212529;--color-text-secondary:#555e68;--color-accent:#0056b3;--color-accent-hover:#004085;--color-border:#dee2e6;--color-code-background:#f1f3f5;--color-inline-code-background:#e9ecef;--color-inline-code-text:#c7254e;--color-card-background:#ffffff;--color-button-text:#fdfdfd}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--base-font-size);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:var(--color-background);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh;transition:background-color .3s ease,color .3s ease}.site-wrapper{width:100%;max-width:var(--container-width);margin-left:auto;margin-right:auto;padding-left:var(--content-padding-x);padding-right:var(--content-padding-x);display:flex;flex-direction:column;flex-grow:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:600;line-height:var(--line-height-heading);margin-top:calc(var(--spacing-unit) * 1.5);margin-bottom:var(--spacing-unit);color:var(--color-text-primary)}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-unit)}a{color:var(--color-accent);text-decoration:none;transition:var(--transition-fast)}a:hover,a:focus{color:var(--color-accent-hover);text-decoration:underline}ul,ol{list-style-position:outside;padding-left:calc(var(--spacing-unit) * 1.5);margin-bottom:var(--spacing-unit)}li{margin-bottom:calc(var(--spacing-unit) * .25)}img{max-width:100%;height:auto;border-radius:4px;display:block}hr{border:0;border-top:1px solid var(--color-border);margin:calc(var(--spacing-unit) * 2)0}code:not(pre code){font-family:var(--font-family-monospace);background-color:var(--color-inline-code-background);color:var(--color-inline-code-text);padding:.2em .4em;border-radius:3px;font-size:.875em;word-break:break-word}pre{font-family:var(--font-family-monospace);background-color:var(--color-code-background);padding:var(--spacing-unit);border-radius:4px;overflow-x:auto;margin-bottom:var(--spacing-unit);font-size:.875em;line-height:1.5}pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit}.site-header-main{background-color:var(--color-background);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1000}.site-nav{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-unit);padding-bottom:var(--spacing-unit);position:relative}.site-logo{font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--color-text-primary);z-index:101}.site-logo:hover,.site-logo:focus{color:var(--color-accent);text-decoration:none}.nav-right-cluster{display:flex;align-items:center}.theme-toggle-button{background:0 0;border:none;color:var(--color-text-primary);cursor:pointer;font-size:1.3rem;line-height:1;order:-1;position:relative;width:22px;height:22px;padding:0}.theme-toggle-button .icon-sun,.theme-toggle-button .icon-moon{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;opacity:1;transform:rotate(0)scale(1);transition:opacity 1s ease,transform .25s ease}.theme-toggle-button .icon-hidden{opacity:0;transform:rotate(45deg)scale(.6);pointer-events:none}.nav-toggle{display:none;background:0 0;border:none;padding:calc(var(--spacing-unit) * .5);cursor:pointer;z-index:101;order:1}.hamburger-icon{display:block;position:relative;width:24px;height:2px;background-color:var(--color-text-primary);transition:transform .2s ease-in-out,background-color .2s ease-in-out}.hamburger-icon::before,.hamburger-icon::after{content:"";position:absolute;left:0;width:100%;height:2px;background-color:var(--color-text-primary);transition:transform .2s ease-in-out,top .2s ease-in-out,bottom .2s ease-in-out}.hamburger-icon::before{top:-7px}.hamburger-icon::after{bottom:-7px}.nav-links-container{display:flex;align-items:center}.nav-links{list-style:none;display:flex;padding-left:0;margin-bottom:0;align-items:center}.nav-links li{margin-left:var(--spacing-unit);margin-bottom:0}.nav-links li a{text-decoration:none;font-weight:500;color:var(--color-text-primary);padding:calc(var(--spacing-unit) * .5)0;display:block}.nav-links li a:hover,.nav-links li a:focus{color:var(--color-accent);text-decoration:underline}.nav-links li a[aria-current=page]{font-weight:700;color:var(--color-accent)}@media(max-width:768px){.theme-toggle-button{margin-right:calc(var(--spacing-unit) * .5)}.nav-toggle{display:block}.nav-links-container{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-background);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:center;padding:var(--spacing-unit)0;z-index:100;box-shadow:0 4px 6px color-mix(in srgb,var(--color-text-primary) 5%,transparent)}.nav-links-container.is-active{display:flex}.nav-links{flex-direction:column;width:100%}.nav-links li{margin-left:0;margin-bottom:calc(var(--spacing-unit) * .5);width:100%;text-align:center}.nav-links li a{padding:calc(var(--spacing-unit) * .75)var(--spacing-unit);width:100%}.nav-toggle[aria-expanded=true] .hamburger-icon{background-color:transparent}.nav-toggle[aria-expanded=true] .hamburger-icon::before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger-icon::after{bottom:0;transform:rotate(-45deg)}}footer.socials{margin-top:auto;padding:calc(var(--spacing-unit) * 1.5)0;text-align:center;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary)}footer.socials .social-links{margin-top:calc(var(--spacing-unit) * .5)}footer.socials .social-links a{margin:0 calc(var(--spacing-unit) * .5);color:var(--color-text-secondary)}footer.socials .social-links a:hover,footer.socials .social-links a:focus{color:var(--color-accent);text-decoration:none}footer.socials .social-icon{vertical-align:middle}main{flex-grow:1}.main-content-wrapper{display:flex;flex-direction:column;flex-grow:1}.main-content-wrapper.with-sidebar{flex-direction:row;gap:calc(var(--spacing-unit) * 2)}.main-content-wrapper.with-sidebar main{flex:2.5;min-width:0}.page-sidebar{flex:1;min-width:0}main a{text-decoration:underline}@media(max-width:768px){.main-content-wrapper.with-sidebar{flex-direction:column;gap:var(--spacing-unit)}.main-content-wrapper.with-sidebar main,.main-content-wrapper.with-sidebar .page-sidebar{flex-basis:auto;width:100%}.page-sidebar{margin-top:var(--spacing-unit)}.about-sidebar .social-links-sidebar{display:none}.about-sidebar .profile-image-container{margin-top:0}}.tags-list{list-style:none;padding-left:0;margin-top:calc(var(--spacing-unit) * .5);margin-bottom:calc(var(--spacing-unit) * .75);display:flex;flex-wrap:wrap;gap:calc(var(--spacing-unit) * .4);line-height:normal}.tags-list li{display:inline-block;font-size:.75rem;color:var(--color-accent);border:1px solid var(--color-accent);padding:.25em .75em;border-radius:1em;line-height:1.3;text-transform:lowercase;margin-bottom:0;margin-right:0}.tags-list li a{text-decoration:none;color:inherit}.post-list-section article{padding-bottom:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px solid var(--color-border)}.post-list-section article:last-child{border-bottom:none;margin-bottom:0}.post-list-section article header h2{margin-top:0;margin-bottom:calc(var(--spacing-unit) * .25);font-size:1.75rem}.post-list-section article header h2 a{text-decoration:none;color:var(--color-text-primary)}.post-list-section article header h2 a:hover,.post-list-section article header h2 a:focus{color:var(--color-accent);text-decoration:underline}.post-list-section article header .post-meta{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .5);margin-bottom:calc(var(--spacing-unit) * .5);font-size:.875rem;color:var(--color-text-secondary)}.post-list-section article header .post-meta .reading-time::before{content:"·";margin-right:calc(var(--spacing-unit) * .5)}.post-list-section article .post-summary{color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .75);font-size:.95rem;line-height:var(--line-height-base)}.post-list-section article footer a{font-weight:500;font-size:.9rem;text-decoration:none}.post-list-section article footer a::after{content:" →"}.post-header{margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px solid var(--color-border)}.post-header .post-title{font-size:2.5rem;margin-top:0;margin-bottom:calc(var(--spacing-unit) * .5);line-height:1.2}.post-header .post-meta{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .5);font-size:.9rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .75)}.post-header .post-meta .reading-time::before{content:"·";margin-right:calc(var(--spacing-unit) * .5)}.post-header .tags-list{margin-bottom:0}article.post h2,article.post h3,article.post h4,article.post h5,article.post h6{margin-top:calc(var(--spacing-unit) * 2.5);margin-bottom:var(--spacing-unit)}article.post h2{font-size:1.875rem}article.post h3{font-size:1.5rem}article.post p{margin-bottom:var(--spacing-unit);hyphens:auto}article.post blockquote{margin-left:0;margin-right:0;margin-bottom:var(--spacing-unit);padding:var(--spacing-unit)calc(var(--spacing-unit) * 1.5);border-left:4px solid var(--color-accent);background-color:var(--color-code-background);color:var(--color-text-secondary);font-style:italic}article.post blockquote p{margin-bottom:0}article.post blockquote p:not(:last-child){margin-bottom:var(--spacing-unit)}article.post img{margin-top:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 1.5);display:block;margin-left:auto;margin-right:auto;border-radius:4px;box-shadow:0 4px 8px color-mix(in srgb,var(--color-text-primary) 5%,transparent)}article.post figure{margin:calc(var(--spacing-unit) * 1.5)0}article.post figcaption{font-size:.875rem;color:var(--color-text-secondary);text-align:center;margin-top:calc(var(--spacing-unit) * .5);font-style:italic}article.post table{width:100%;border-collapse:collapse;margin-bottom:calc(var(--spacing-unit) * 1.5);font-size:.9rem}article.post th,article.post td{border:1px solid var(--color-border);padding:calc(var(--spacing-unit) * .5)calc(var(--spacing-unit) * .75);text-align:left;vertical-align:top}article.post th{background-color:var(--color-code-background);font-weight:600}article.post tr:nth-child(even) td{background-color:color-mix(in srgb,var(--color-border) 30%,var(--color-background) 70%)}.upcoming-talks{margin-bottom:calc(var(--spacing-unit) * 2.5);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px solid var(--color-border)}.upcoming-talks h2{margin-top:0;margin-bottom:calc(var(--spacing-unit) * 1.5);font-size:1.875rem}.upcoming-talk-item{margin-bottom:var(--spacing-unit)}.upcoming-talk-item h3{font-size:1.3rem;margin-bottom:calc(var(--spacing-unit) * .2)}.upcoming-talk-item h3 a{text-decoration:none;color:var(--color-text-primary)}.upcoming-talk-item h3 a:hover{color:var(--color-accent)}.upcoming-talk-event{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .1)}.upcoming-talk-item time{font-size:.9rem;color:var(--color-text-secondary);display:block;margin-bottom:calc(var(--spacing-unit) * .2)}.upcoming-talk-description{font-size:.9rem;color:var(--color-text-secondary)}.past-talks h2{margin-top:var(--spacing-unit);margin-bottom:calc(var(--spacing-unit) * 1.5);font-size:1.875rem}.past-talks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 2)}.talk-card{border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-card-background);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition-fast)}.talk-card:hover{box-shadow:0 4px 12px color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.talk-card-image-link{display:block;text-decoration:none}.talk-card-image-container{width:100%;height:200px;background-color:color-mix(in srgb,var(--color-border) 50%,var(--color-background) 50%);display:flex;align-items:center;justify-content:center;overflow:hidden}.talk-card-image-container img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}.talk-card-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-unit);color:var(--color-text-secondary)}.talk-card-image-placeholder svg{width:48px;height:48px;margin-bottom:calc(var(--spacing-unit) * .5);opacity:.7;fill:currentColor}.talk-card-image-placeholder span{font-size:.9rem;font-weight:500}.talk-card-content{padding:calc(var(--spacing-unit) * 1.25);display:flex;flex-direction:column;flex-grow:1}.talk-card-event{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-weight:500;margin-bottom:calc(var(--spacing-unit) * .2);line-height:1.3}.talk-card-date{display:block;font-size:.85rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .75);line-height:1.4}.talk-card-title{font-size:1.25rem;font-weight:600;margin-top:0;margin-bottom:calc(var(--spacing-unit) * .5);line-height:1.3}.talk-card-title a{text-decoration:none;color:var(--color-text-primary)}.talk-card-title a:hover{color:var(--color-accent);text-decoration:underline}.talk-card .tags-list{margin-bottom:calc(var(--spacing-unit) * .75)}.talk-card-description{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-unit);flex-grow:1}.talk-card-learn-more{font-size:.9rem;font-weight:500;color:var(--color-accent);text-decoration:none;margin-top:auto;align-self:flex-start}.talk-card-learn-more:hover,.talk-card-learn-more:focus{text-decoration:underline;color:var(--color-accent-hover)}.talk-card-learn-more .arrow{display:inline-block;transition:transform .15s ease-in-out}.talk-card-learn-more:hover .arrow,.talk-card-learn-more:focus .arrow{transform:translateX(3px)}@media(max-width:calc( (300px * 2) + var(--spacing-unit) * 1)){.talk-card-image-container{height:180px}.talk-card-title{font-size:1.15rem}.talk-card-description{font-size:.875rem}.talk-card-content{padding:var(--spacing-unit)}.talk-card .tags-list li{font-size:.7rem;padding:.2em .6em}}.talk-single-page{padding-bottom:calc(var(--spacing-unit) * 2)}.talk-single-header{margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px solid var(--color-border)}.talk-single-title{font-size:2.5rem;margin-top:0;margin-bottom:calc(var(--spacing-unit) * .25);line-height:1.2}.talk-single-event{font-size:1.1rem;color:var(--color-text-secondary);font-weight:500;margin-bottom:calc(var(--spacing-unit) * .25)}.talk-single-date{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 1)}.talk-single-header .tags-list{margin-bottom:0}.talk-single-content h2{font-size:1.875rem;margin-top:calc(var(--spacing-unit) * 2.5)}.talk-single-content h3{font-size:1.5rem;margin-top:calc(var(--spacing-unit) * 2)}.talk-single-content img,.talk-single-content figure,.talk-single-content .youtube-embed-wrapper{margin-top:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 1.5)}.talk-single-content img,.talk-single-content figure img{display:block;margin-left:auto;margin-right:auto}.talk-single-resources{margin-top:calc(var(--spacing-unit) * 3);padding-top:calc(var(--spacing-unit) * 1.5);border-top:1px solid var(--color-border)}.talk-single-resources h2{font-size:1.5rem;margin-top:0;margin-bottom:calc(var(--spacing-unit) * 1)}.talk-single-resources ul{list-style:none;padding-left:0;margin-bottom:0}.talk-single-resources li{margin-bottom:calc(var(--spacing-unit) * .75)}.talk-single-resources li a{display:inline-flex;align-items:center;text-decoration:none;font-weight:500;font-size:1rem}.talk-single-resources li a .icon{margin-right:calc(var(--spacing-unit) * .5);flex-shrink:0;fill:currentColor}.section-list-page h1+p{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 2)}.section-list-page ul.item-list{list-style:none;padding-left:0}.section-list-page ul.item-list li{margin-bottom:calc(var(--spacing-unit) * 1.5);border:1px solid var(--color-border);border-radius:6px;transition:all var(--transition-fast);background-color:var(--color-card-background)}.section-list-page ul.item-list li:hover{border-color:var(--color-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--color-text-primary) 8%,transparent);transform:translateY(-2px)}.section-list-page ul.item-list li a{display:block;padding:calc(var(--spacing-unit) * 1.25)calc(var(--spacing-unit) * 1.5);text-decoration:none}.section-list-page ul.item-list li a .item-title{display:block;color:var(--color-text-primary);font-size:1.35rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * .25)}.section-list-page ul.item-list li a .item-description{display:block;font-size:.9rem;color:var(--color-text-secondary);font-weight:400;line-height:1.5}.section-list-page ul.item-list li:hover a .item-title{color:var(--color-accent)}.section-index-page h1{margin-bottom:calc(var(--spacing-unit) * .5)}.section-index-page .overview-content{margin-bottom:calc(var(--spacing-unit) * 2);color:var(--color-text-secondary);line-height:var(--line-height-base)}.section-index-page .overview-content p:last-child{margin-bottom:0}.page-sidebar.content-navigation{padding-top:calc(var(--spacing-unit) * 1.5)}.page-sidebar.content-navigation h3{font-size:1.1rem;font-weight:600;margin-top:0;margin-bottom:calc(var(--spacing-unit) * .75)}.page-sidebar.content-navigation ul{list-style:none;padding-left:0;margin-top:0}.page-sidebar.content-navigation li a{display:block;padding:calc(var(--spacing-unit) * .5)calc(var(--spacing-unit) * .75);text-decoration:none;border-radius:4px;margin-bottom:calc(var(--spacing-unit) * .25);color:var(--color-text-secondary);font-weight:400;border-left:3px solid transparent;transition:background-color .2s ease,color .2s ease}.page-sidebar.content-navigation li a:hover{background-color:var(--color-code-background);color:var(--color-text-primary)}.page-sidebar.content-navigation li a[aria-current=page]{color:var(--color-accent);font-weight:600;background-color:color-mix(in srgb,var(--color-accent) 15%,var(--color-background) 85%);border-left-color:var(--color-accent)}.series-index-page h1{margin-top:calc(var(--spacing-unit) * 2)}.series-articles-list{margin-top:calc(var(--spacing-unit) * 2)}.series-articles-list h2{font-size:1.5rem;margin-bottom:var(--spacing-unit);border-top:1px solid var(--color-border);padding-top:var(--spacing-unit)}.series-articles-list ul{list-style:none;padding-left:0}.series-articles-list li{margin-bottom:calc(var(--spacing-unit) * 1);padding-bottom:calc(var(--spacing-unit) * 1);border-bottom:1px dashed var(--color-border)}.series-articles-list li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.series-articles-list li .article-item-header{margin-bottom:calc(var(--spacing-unit) * .5)}.series-articles-list li .article-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-top:0;margin-bottom:calc(var(--spacing-unit) * .2)}.series-articles-list li .article-title a{text-decoration:none;color:inherit}.series-articles-list li .article-title a:hover{color:var(--color-accent);text-decoration:underline}.series-articles-list li time{display:block;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .25)}.series-articles-list li .tags-list{margin-bottom:calc(var(--spacing-unit) * .5)}.series-articles-list li .article-description{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .75);line-height:1.5}.series-articles-list li .read-article-link{font-weight:500;font-size:.9rem}.series-articles-list li .read-article-link .arrow{display:inline-block;transition:transform .15s ease-in-out}.series-articles-list li .read-article-link:hover .arrow{transform:translateX(3px)}.resource-category-page .page-section-header{margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 1.5);h1 { margin-top: 0;}}.resource-items-list{list-style:none;padding-left:0}.resource-items-list .resource-item{margin-bottom:calc(var(--spacing-unit) * 1.5);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px dashed var(--color-border)}.resource-items-list .resource-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.resource-items-list .resource-item-main-link{margin-bottom:calc(var(--spacing-unit) * .35)}.resource-items-list .resource-item-main-link a{display:inline-block;text-decoration:none}.resource-items-list .resource-item-title{font-weight:500;font-size:1.1rem;color:var(--color-text-primary);display:inline}.resource-items-list .resource-item-main-link a:hover .resource-item-title{color:var(--color-accent);text-decoration:underline}.resource-items-list .external-link-icon{vertical-align:middle;margin-left:calc(var(--spacing-unit) * .3);color:var(--color-text-secondary);opacity:.7;transition:color var(--transition-fast)}.resource-items-list .resource-item-main-link a:hover .external-link-icon{color:var(--color-accent);opacity:1}.resource-items-list .resource-item-description{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5;margin-top:calc(var(--spacing-unit) * .25);margin-bottom:calc(var(--spacing-unit) * .5)}.resource-items-list .resource-item-description:only-child{margin-bottom:0}.resource-items-list .resource-item .tags-list{margin-top:calc(var(--spacing-unit) * .5);margin-bottom:0}.res-index{padding-top:calc(var(--spacing-unit) * 2)}.res-index-header{margin-bottom:calc(var(--spacing-unit) * 2.5)}.res-index-header h1{font-size:2.25rem;font-weight:700;margin:0 0 calc(var(--spacing-unit) * .4);color:var(--color-text-primary)}.res-index-header .accent-bar{width:48px;height:3px;background:var(--color-accent);border-radius:2px;margin-bottom:calc(var(--spacing-unit) * .75)}.res-index-header p{font-size:1rem;color:var(--color-text-secondary);margin:0}.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.res-card{display:block;text-decoration:none;background:var(--color-card-background);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;transition:border-color .15s ease,transform .15s ease}.res-card:hover{border-color:var(--color-accent);transform:translateY(-1px);text-decoration:none}.res-card-top{display:flex;align-items:center;justify-content:space-between}.res-card-name{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.res-card:hover .res-card-name{color:var(--color-accent)}.res-card-count{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-code-background);padding:2px 8px;border-radius:10px;flex-shrink:0}@media(max-width:600px){.res-grid{grid-template-columns:1fr}}.about-page-content .page-description{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 1.5)}.about-sidebar{padding-top:calc(var(--spacing-unit) * .5);display:flex;flex-direction:column;align-items:center}.profile-image-container{width:200px;height:200px;border-radius:20%;overflow:hidden;margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 1.5);border:1px solid var(--color-border);flex-shrink:0}.profile-image-container img{width:100%;height:100%;object-fit:cover}.social-links-sidebar{display:flex;justify-content:center;flex-wrap:wrap;gap:calc(var(--spacing-unit) * 1.25)}.social-links-sidebar .social-icon{width:1.5em;height:1.5em;color:var(--color-text-secondary)}.social-links-sidebar a:hover .social-icon{color:var(--color-accent)}.social-links-sidebar a:hover{text-decoration:none}.resume-details{margin-top:calc(var(--spacing-unit) * 3);padding-top:calc(var(--spacing-unit) * 2);border-top:1px solid var(--color-border)}.resume-section{margin-bottom:calc(var(--spacing-unit) * 3)}.resume-section .section-title{font-size:1.75rem;margin-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:2px solid var(--color-accent);padding-bottom:calc(var(--spacing-unit) * .5);display:inline-block}.btn{display:inline-block;padding:calc(var(--spacing-unit) * .75)calc(var(--spacing-unit) * 1.5);border-radius:6px;text-decoration:none;font-weight:500;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);border:2px solid transparent;cursor:pointer}.btn.primary-btn{background-color:var(--color-accent);color:var(--color-button-text);border-color:var(--color-accent)}.btn.primary-btn:hover,.btn.primary-btn:focus{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-button-text);text-decoration:none}.btn.secondary-btn{background-color:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}.btn.secondary-btn:hover,.btn.secondary-btn:focus{background-color:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent);text-decoration:none}.home-intro-main{margin-top:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px solid var(--color-border)}.home-intro-main .home-main-name{font-size:2.5rem;font-weight:700;margin-top:0;margin-bottom:calc(var(--spacing-unit) * .2);line-height:1.1;color:var(--color-text-primary)}.home-intro-main .home-main-tagline{font-size:1.25rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-unit);font-weight:400;max-width:70ch}.home-intro-main .home-main-bio{font-size:1.05rem;line-height:1.7;color:var(--color-text-primary);max-width:75ch;margin-bottom:0}.home-intro-main .home-main-bio p{margin-bottom:var(--spacing-unit)}.home-intro-main .home-main-bio p:last-child{margin-bottom:0}.home-content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--spacing-unit) * 2);margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.home-content-grid .home-section{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-header-home{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-unit);gap:var(--spacing-unit)}.section-title-home{font-size:1.6rem;margin-top:0;margin-bottom:0;flex-shrink:0}.view-all-link{margin-top:0;text-align:right;font-size:.9rem;white-space:nowrap;flex-shrink:0}.view-all-link a{font-weight:500}.view-all-link a .arrow{display:inline-block;transition:transform .15s ease-in-out}.view-all-link a:hover .arrow{transform:translateX(3px)}.minimal-content-list{list-style-type:disc;padding-left:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * .75)}.minimal-content-list li{margin-bottom:calc(var(--spacing-unit) * .5);font-size:.95rem;line-height:1.5}.minimal-content-list li:last-child{margin-bottom:0}.minimal-content-list li a{text-decoration:none;color:var(--color-text-primary);font-weight:500;display:inline;position:relative}.minimal-content-list li a::after{content:"";position:absolute;width:100%;transform:scaleX(0);height:1px;bottom:-3px;left:0;background-color:var(--color-accent);transform-origin:bottom right;transition:transform .25s ease-out}.minimal-content-list li a:hover::after{transform:scaleX(1);transform-origin:bottom left}.minimal-content-list li a:hover{color:var(--color-accent);text-decoration:none}@media(max-width:768px){.home-content-grid{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 1.5)}.home-content-grid .home-section{margin-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px solid var(--color-border);padding-bottom:calc(var(--spacing-unit) * 1.5)}.home-content-grid .home-section:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}}@media(max-width:600px){.home-intro-main{padding:calc(var(--spacing-unit) * 1.5)0;margin-bottom:calc(var(--spacing-unit) * 1.5)}.home-intro-main .home-main-name{font-size:2rem}.home-intro-main .home-main-tagline{font-size:1.1rem;margin-bottom:var(--spacing-unit)}.home-intro-main .home-main-bio{font-size:1rem}.section-header-home{flex-direction:column;align-items:flex-start}.section-title-home{font-size:1.4rem;margin-bottom:calc(var(--spacing-unit) * .5)}.view-all-link{font-size:.9rem;margin-top:calc(var(--spacing-unit) * .25);text-align:left}.minimal-content-list li{font-size:1rem;margin-bottom:calc(var(--spacing-unit) * .4)}.minimal-content-list{margin-bottom:calc(var(--spacing-unit) * .5);padding-left:calc(var(--spacing-unit) * 1.25)}}aside h2{font-size:1.5em}.page-heading{font-size:2.5rem;font-weight:700;position:relative;padding-bottom:.5rem;margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(.5rem + var(--spacing-unit) * 2 + 3px)}.page-heading::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:60px;background:linear-gradient(90deg,var(--color-accent),var(--color-text-secondary))}.not-found-page{padding:calc(var(--spacing-unit) * 2)0}.not-found-header h1{font-size:3rem;text-align:center;color:var(--color-accent);margin-top:0;margin-bottom:calc(var(--spacing-unit) * 1.5)}.not-found-content{max-width:600px;margin-left:auto;margin-right:auto}.not-found-content p{font-size:1.1rem;line-height:1.7;margin-bottom:calc(var(--spacing-unit) * 1.5);color:var(--color-text-secondary)}.not-found-links{list-style:none;padding-left:0;margin-bottom:calc(var(--spacing-unit) * 1.5)}.not-found-links li{font-size:1rem;margin-bottom:calc(var(--spacing-unit) * .75);padding-left:calc(var(--spacing-unit) * 1.25);border-left:2px solid var(--color-border)}.not-found-links li a{font-weight:500}.not-found-links li span{color:var(--color-text-secondary);font-size:.9rem}.darken{filter:brightness(60%)}#articles-list{scroll-margin-top:75px}@media(max-width:768px){.series-navigation{display:none}}.bg{color:#fff;background-color:#000}.chroma{color:#fff;background-color:#000}.chroma .x{}.chroma .err{}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#191919}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#b6a0ff}.chroma .kc{color:#00bcff}.chroma .kd{color:#b6a0ff}.chroma .kn{color:#b6a0ff}.chroma .kp{color:#b6a0ff}.chroma .kr{color:#b6a0ff}.chroma .kt{color:#6ae4b9}.chroma .n{}.chroma .na{}.chroma .nc{}.chroma .no{}.chroma .nd{}.chroma .ni{}.chroma .ne{}.chroma .nl{}.chroma .nn{}.chroma .nx{}.chroma .py{}.chroma .nt{}.chroma .nb{color:#f78fe7}.chroma .bp{color:#f78fe7}.chroma .nv{color:#00d3d0}.chroma .vc{color:#00d3d0}.chroma .vg{color:#00d3d0}.chroma .vi{color:#00d3d0}.chroma .vm{color:#00d3d0}.chroma .nf{color:#feacd0}.chroma .fm{color:#feacd0}.chroma .l{color:#00bcff}.chroma .ld{color:#00bcff}.chroma .s{color:#79a8ff}.chroma .sa{color:#79a8ff}.chroma .sb{color:#79a8ff}.chroma .sc{color:#79a8ff}.chroma .dl{color:#79a8ff}.chroma .sd{color:#79a8ff}.chroma .s2{color:#79a8ff}.chroma .se{color:#79a8ff}.chroma .sh{color:#79a8ff}.chroma .si{color:#79a8ff}.chroma .sx{color:#79a8ff}.chroma .sr{color:#79a8ff}.chroma .s1{color:#79a8ff}.chroma .ss{color:#79a8ff}.chroma .m{color:#00bcff}.chroma .mb{color:#00bcff}.chroma .mf{color:#00bcff}.chroma .mh{color:#00bcff}.chroma .mi{color:#00bcff}.chroma .il{color:#00bcff}.chroma .mo{color:#00bcff}.chroma .o{color:#00d3d0}.chroma .ow{color:#00d3d0}.chroma .p{}.chroma .c{color:#a8a8a8}.chroma .ch{color:#a8a8a8}.chroma .cm{color:#a8a8a8}.chroma .c1{color:#a8a8a8}.chroma .cs{color:#a8a8a8}.chroma .cp{color:#a8a8a8}.chroma .cpf{color:#a8a8a8}.chroma .g{}.chroma .gd{}.chroma .ge{}.chroma .gr{}.chroma .gh{}.chroma .gi{}.chroma .go{}.chroma .gp{}.chroma .gs{}.chroma .gu{}.chroma .gt{}.chroma .gl{}.chroma .w{}