pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#ffffff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}:root{--accent:#2337ff;--accent-dark:#000d8a;--black:15,18,25;--gray:75,90,130;--gray-light:229,233,240;--gray-dark:34,41,57;--gray-gradient:rgba(var(--gray-light),50%),#fff;--box-shadow:0 2px 6px rgba(var(--gray),25%),0 8px 24px rgba(var(--gray),33%),0 16px 32px rgba(var(--gray),33%)}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}body{font-family:Atkinson,sans-serif;margin:0;padding:0;text-align:left;background:linear-gradient(var(--gray-gradient)) no-repeat;background-size:100% 600px;word-wrap:break-word;overflow-wrap:break-word;color:rgb(var(--gray-dark));font-size:20px;line-height:1.7}main{width:720px;max-width:calc(100% - 2em);margin:auto;padding:3em 1em}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;color:rgb(var(--black));line-height:1.2}h1{font-size:3.052em}h2{font-size:2.441em}h3{font-size:1.953em}h4{font-size:1.563em}h5{font-size:1.25em}b,strong{font-weight:700}a,a:hover{color:var(--accent)}p{margin-bottom:1em}.prose p{margin-bottom:2em}textarea{width:100%}input,textarea{font-size:16px}table{width:100%}img{max-width:100%;height:auto;border-radius:8px}code{padding:2px 5px;background-color:rgb(var(--gray-light));border-radius:2px}pre{padding:1.5em;border-radius:8px}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0;font-size:1.333em}hr{border:none;border-top:1px solid rgb(var(--gray-light))}@media (max-width:720px){body{font-size:18px}main{padding:1em}}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.skip-nav{position:absolute;left:-9999px;top:0;z-index:999;padding:.5em 1em;background:var(--accent);color:white;text-decoration:none;font-weight:700}.skip-nav:focus{left:0}header{margin:0;padding:0 1em;background:white;box-shadow:0 2px 8px rgba(var(--black),5%)}header nav{display:flex;align-items:center;justify-content:space-between}header h2{margin:0;font-size:1em}header h2 a,header h2 a.active,header nav a{text-decoration:none}header nav a{padding:1em .5em;color:rgb(var(--black));border-bottom:4px solid transparent}header nav a.active{text-decoration:none;border-bottom-color:var(--accent)}.social-links,.social-links a{display:flex}@media (max-width:720px){.social-links{display:flex}h1{font-size:2rem}header nav{flex-wrap:wrap;gap:.25em}}footer{padding:2em 1em 6em;background:linear-gradient(var(--gray-gradient)) no-repeat;color:rgb(var(--gray));text-align:center}footer .social-links{display:flex;justify-content:center;gap:1em;margin-top:1em}footer .social-links a{text-decoration:none;color:rgb(var(--gray))}footer .social-links a:hover{color:rgb(var(--gray-dark))}.footer-links{display:flex;justify-content:center;gap:.5em;margin-top:.5em;font-size:.9rem}.footer-links a{color:rgb(var(--gray));text-decoration:none}.footer-links a:hover{color:var(--accent)}.footer-sep{color:rgb(var(--gray-light))}.post-list{display:flex;flex-wrap:wrap;gap:2rem;list-style-type:none;margin:0;padding:0}.post-list li{width:calc(50% - 1rem)}.post-list li *{text-decoration:none;transition:.2s ease}.post-list li:first-child{width:100%;margin-bottom:1rem;text-align:center}.post-list li:first-child .title{font-size:2.369rem}.post-list li a{display:block;color:inherit}.post-list li a:hover .date,.post-list li a:hover h4{color:rgb(var(--accent))}.post-list .title{margin:0;color:rgb(var(--black));line-height:1}.post-list .date{margin:0;color:rgb(var(--gray))}@media (max-width:720px){.post-list{gap:.5em}.post-list li{width:100%;text-align:center}.post-list li:first-child{margin-bottom:0}.post-list li:first-child .title{font-size:1.563em}}.post-hero{width:100%}.post-hero img{display:block;margin:0 auto;border-radius:12px;box-shadow:var(--box-shadow)}.prose{width:720px;max-width:calc(100% - 2em);margin:auto;padding:1em;color:rgb(var(--gray-dark))}.post-title{margin-bottom:1em;padding:1em 0;text-align:center;line-height:1}.post-title h1{margin:0 0 .5em}.post-date{margin-bottom:.5em;color:rgb(var(--gray))}.reading-time{font-size:.9em}.last-updated{font-style:italic}.translation-skeleton{padding:1em 0}.skeleton-line{height:1em;background:linear-gradient(90deg,rgb(var(--gray-light)) 25%,rgba(var(--gray-light),.5) 50%,rgb(var(--gray-light)) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:.8em}.skeleton-line--wide{width:100%}.skeleton-line--medium{width:75%}.skeleton-line--short{width:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.translation-notice{color:rgb(var(--gray));font-size:.85em;text-align:center;margin-top:1em}.translation-error{color:rgb(var(--gray));font-size:.85em;border:1px solid rgb(var(--gray-light));border-radius:4px;padding:.5em 1em;margin-bottom:1em}[dir=rtl] body{text-align:right}[dir=rtl] nav{direction:rtl}[dir=rtl] .internal-links,[dir=rtl] .social-links{flex-direction:row-reverse}[dir=rtl] .post-list li{text-align:right}[dir=rtl] .prose{direction:rtl;text-align:right}[dir=rtl] .streaming-cursor{margin-right:.2em;margin-left:0}.tags-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.tag-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgb(var(--gray-light));border-radius:2rem;text-decoration:none;color:rgb(var(--gray-dark));transition:all .2s ease}.tag-link:hover{background:var(--accent);color:white}.tag-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;background:rgba(var(--gray),.2);border-radius:1rem;font-size:.8rem}.tag-link:hover .tag-count{background:rgba(255,255,255,.3)}.tag-header{margin-bottom:2rem}.tag-header h1{margin-top:.5rem}.tag-label{display:inline-block;padding:.25rem .75rem;background:var(--accent);color:white;border-radius:.25rem;font-size:.9em}.tag-description{color:rgb(var(--gray));margin-top:.5rem}.back-link{color:rgb(var(--gray));text-decoration:none;font-size:.9rem}.back-link:hover{color:var(--accent)}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.post-tags--centered{justify-content:center;margin:.75rem 0}.tag{display:inline-block;padding:.2rem .6rem;background:rgb(var(--gray-light));border-radius:.25rem;font-size:.8rem;text-decoration:none;color:rgb(var(--gray-dark));transition:all .2s ease}.tag--active,.tag:hover{background:var(--accent);color:white}.hero-section{text-align:center;margin-bottom:3rem}.hero-section h1{margin-bottom:.5rem}.hero-tagline{color:rgb(var(--gray));font-size:1.2rem;margin:0}.section-title{font-size:1.25rem;color:rgb(var(--gray));text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgb(var(--gray-light))}.featured-section{margin-bottom:3rem}.featured-post{padding:1.5rem;background:white;border-radius:8px;box-shadow:var(--box-shadow)}.featured-post a{text-decoration:none;color:inherit}.featured-post a:hover .featured-title{color:var(--accent)}.featured-title{font-size:1.75rem;margin:0 0 .5rem;transition:color .2s ease}.featured-description{color:rgb(var(--gray-dark));margin:0 0 .5rem;line-height:1.6}.featured-date{color:rgb(var(--gray));font-size:.9rem;margin:0}.featured-post .post-tags{margin-top:1rem}.recent-section{margin-bottom:3rem}.post-list--compact{gap:1rem}.post-list--compact li{width:100%;text-align:left;padding:1rem;background:white;border-radius:8px;box-shadow:0 1px 3px rgba(var(--gray),15%)}.post-list--compact li:first-child{margin-bottom:0}.post-list--compact li:first-child .title{font-size:inherit}.tags-section{margin-bottom:2rem}.view-all{margin-top:1rem;text-align:center}.view-all a{color:var(--accent);text-decoration:none}.view-all a:hover{text-decoration:underline}@media (prefers-color-scheme:dark){:root{--gray-gradient:rgba(30,33,45,50%),#1a1a2e;--gray-light:50,55,70}body{background:#1a1a2e;color:#d0d0d8}h1,h2,h3,h4,h5,h6{color:#e8e8f0}a{color:#6b8aff}a:hover{color:#8aa4ff}code{background-color:rgba(var(--gray-light),.5)}pre{background:#0d1117}header{background:#1e1e30;box-shadow:0 2px 8px rgba(0,0,0,.3)}header nav a{color:#d0d0d8}.featured-post{background:#252540}.post-list--compact li{background:#252540;box-shadow:0 1px 3px rgba(0,0,0,.3)}.tag,.tag-link{background:rgba(var(--gray-light),.5);color:#d0d0d8}img{opacity:.9}footer{background:linear-gradient(rgba(30,33,45,50%),#1a1a2e) no-repeat}.hljs{background:#0d1117!important;color:#c9d1d9!important}}