.header-container[data-astro-cid-3ef6ksr2]{width:100%;padding:var(--space-30) var(--space-50);margin:0}.site-header[data-astro-cid-3ef6ksr2]{max-width:var(--wide-width);margin:0 auto;padding:0;border-bottom:none}.header-contents[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;margin:0;padding:0}.header-start[data-astro-cid-3ef6ksr2],.header-end[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-30)}.site-branding[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.branding-bundle[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.site-title[data-astro-cid-3ef6ksr2]{font-size:var(--font-size-large);font-weight:300;color:var(--color-primary);text-decoration:none;margin:0}.site-title[data-astro-cid-3ef6ksr2]:hover{background-color:var(--color-accent-2);color:var(--color-primary)}.site-navigation[data-astro-cid-3ef6ksr2]{display:flex}.nav-menu[data-astro-cid-3ef6ksr2]{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-30);flex-wrap:nowrap}.nav-menu[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{margin:0}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-secondary);text-decoration:none;font-size:var(--font-size-medium);font-weight:300;padding:4px 8px;display:block;transition:all .2s ease}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{background-color:var(--color-accent-3);color:var(--color-secondary)}.site-tagline[data-astro-cid-3ef6ksr2]{display:inline-block;margin:var(--space-20) 0 0 0;overflow:hidden;white-space:nowrap;width:auto;max-width:0;font-size:var(--font-size-small);color:var(--color-secondary);font-weight:300;border-right:2px solid var(--color-secondary);animation:typewriter 4s steps(80,end) 1s forwards,removeCursor 0s linear 5s forwards}@keyframes typewriter{0%{max-width:0}to{max-width:100%}}@keyframes removeCursor{to{border-right:none}}@media(prefers-reduced-motion:reduce){.site-tagline[data-astro-cid-3ef6ksr2]{animation:none;border-right:none;width:100%}}@media(max-width:640px){.header-container[data-astro-cid-3ef6ksr2]{padding:var(--space-30)}.header-contents[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:flex-start;gap:var(--space-30)}.site-navigation[data-astro-cid-3ef6ksr2]{display:grid;flex-direction:row;margin-left:-10px}.branding-bundle[data-astro-cid-3ef6ksr2]{width:100%;align-items:flex-start}.site-tagline[data-astro-cid-3ef6ksr2]{white-space:normal;display:block;width:100%;max-width:none;overflow:visible;border-right:none;animation:none;overflow-wrap:anywhere;word-break:break-word;line-height:1.2;margin-top:var(--space-10)}.nav-menu[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:var(--space-20)}}.footer-container[data-astro-cid-sz7xmlte]{width:100%;padding:var(--space-60) var(--space-60);margin:0}.site-footer[data-astro-cid-sz7xmlte]{max-width:var(--wide-width);margin:0 auto;padding:0;border-top:1px solid var(--color-accent-3);padding-top:var(--space-60)}.footer-title[data-astro-cid-sz7xmlte]{margin:0 0 var(--space-30);font-size:var(--font-size-small);color:var(--color-secondary);font-weight:300;line-height:1.6}.footer-title[data-astro-cid-sz7xmlte] code[data-astro-cid-sz7xmlte]{background-color:transparent;padding:0;font-family:var(--font-family);font-size:inherit;color:inherit}.footer-credit[data-astro-cid-sz7xmlte]{margin:0;font-size:var(--font-size-tiny);color:var(--color-secondary);font-weight:300;line-height:1.6}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-secondary);text-decoration:none}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{background-color:var(--color-accent-5);color:var(--color-primary)}@media(max-width:640px){.footer-container[data-astro-cid-sz7xmlte]{padding:var(--space-50)}.site-footer[data-astro-cid-sz7xmlte]{padding-top:var(--space-50)}.footer-title[data-astro-cid-sz7xmlte]{font-size:var(--font-size-medium)}.footer-credit[data-astro-cid-sz7xmlte]{font-size:var(--font-size-small)}}@font-face{font-family:DM Mono;font-style:normal;font-weight:300;src:url(/_astro/dm-mono_normal_300.BFIVI6Ma.ttf) format("truetype")}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;src:url(/_astro/dm-mono_normal_400.DjQuYRb_.ttf) format("truetype")}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;src:url(/_astro/dm-mono_normal_500.Dc9tYN4r.ttf) format("truetype")}@font-face{font-family:DM Mono;font-style:italic;font-weight:300;src:url(/_astro/dm-mono_italic_300.DAlZC6S6.ttf) format("truetype")}@font-face{font-family:DM Mono;font-style:italic;font-weight:400;src:url(/_astro/dm-mono_italic_400.CKjguhl9.ttf) format("truetype")}@font-face{font-family:DM Mono;font-style:italic;font-weight:500;src:url(/_astro/dm-mono_italic_500.IbCjGlqj.ttf) format("truetype")}:root{--color-base: #ffffff;--color-primary: #CF2E2E;--color-secondary: #111111;--color-tertiary: #878787;--color-accent: #CF2E2E11;--color-accent-2: #CF2E2E1F;--color-accent-3: #11111111;--color-accent-4: #ABB8C3;--space-30: 12px;--space-50: 16px;--space-60: 24px;--space-70: 32px;--font-family: "DM Mono", monospace;--font-size-tiny: .8rem;--font-size-small: 1rem;--font-size-medium: 1.125rem;--font-size-large: 1.37rem;--font-size-xl: clamp(1.75rem, 4vw, 2.25rem);--font-size-xxl: clamp(2.25rem, 5vw, 3rem);--color-link: var(--color-primary);--color-link-hover: var(--color-primary);--max-side: 360px;--content-width: min(calc(100% - 2 * var(--space-60)), max(68vw, calc(80vw + (500px - 100vw)/2) ));--wide-width: calc(100% - 2 * var(--space-60))}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-large);font-weight:300;line-height:1.6;color:var(--color-secondary);background-color:var(--color-base)}body-mock{margin:0;font-family:Verdana;font-size:var(--font-size-large);font-weight:300;line-height:1.6;color:var(--color-secondary);background-color:var(--color-base)}h1,h2,h3{font-size:var(--font-size-large);font-weight:700;line-height:1.1;margin:var(--space-70) 0 var(--space-30);color:var(--color-primary)}h4,h5{font-size:var(--font-size-medium);font-weight:300;line-height:1.6}h6{font-size:var(--font-size-small);font-weight:300;line-height:1.6}.tri-gradient{background:linear-gradient(90deg,#e63946,#f4d35e,#457b9d);-webkit-background-clip:text;background-clip:text;color:transparent}.tri-gradient-hover{color:var(--color-secondary);transition:color .18s ease,background .18s ease}.tri-gradient-hover:hover,.tri-gradient-hover:focus-visible{background:linear-gradient(90deg,#f4d35e,#457b9d,#e63946);-webkit-background-clip:text;background-clip:text;color:transparent}.tri-span-hover .tri-1,.tri-span-hover .tri-2,.tri-span-hover .tri-3{color:var(--color-secondary);transition:color .18s ease}.tri-span-hover:hover .tri-1,.tri-span-hover:focus-visible .tri-1{color:#f4d35e}.tri-span-hover:hover .tri-2,.tri-span-hover:focus-visible .tri-2{color:#457b9d}.tri-span-hover:hover .tri-3,.tri-span-hover:focus-visible .tri-3{color:#e63946}.tri-1{color:#f4d35e}.tri-2{color:#457b9d}.tri-3{color:#e63946}a{color:var(--color-link);text-decoration:underline;text-decoration-color:transparent;transition:color .15s ease,background-color .15s ease,text-decoration-color .15s ease}a:hover,a:focus{background-color:var(--color-accent);color:var(--color-link-hover);text-decoration-color:var(--color-link-hover)}button,.button{background-color:var(--color-secondary);color:var(--color-base);border:none;border-radius:0;padding:10px 16px;font-family:var(--font-family);font-size:var(--font-size-medium);cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s ease}button:hover,.button:hover{background-color:var(--color-primary);color:var(--color-base)}code,pre{font-family:var(--font-family);font-size:var(--font-size-small);padding:2px 6px;border-radius:3px}pre{border:2px solid var(--color-accent-4);padding:var(--space-50);overflow-x:auto}blockquote{border-left:4px solid var(--color-primary);padding-left:var(--space-50);font-size:var(--font-size-large);font-style:normal;margin:var(--space-60) 0}blockquote cite{font-size:var(--font-size-small);color:var(--color-secondary);font-style:normal}img,figure,video{max-width:100%;height:auto}figcaption{color:var(--color-tertiary);font-size:var(--font-size-medium);margin-top:var(--space-30)}.figure-blog{text-align:center;margin:2rem auto;max-width:60%}.figure-blog img{display:block;width:100%;height:auto}.figure-blog figcaption{margin-top:.5rem;font-size:.875rem;color:var(--color-tertiary)}.figure-blog-small{text-align:center;margin:2rem 0}.figure-blog-small img{display:block;width:30%;height:auto;margin:0 auto}.figure-blog-small figcaption{margin-top:.5rem;font-size:.875rem;color:var(--color-tertiary)}.site-header{padding:var(--space-50) var(--space-60);border-bottom:1px solid var(--color-accent-3)}.site-header a{font-size:var(--font-size-large);font-weight:300;text-transform:none;text-decoration:none}.site-header a:hover{background-color:var(--color-accent-2);color:var(--color-primary)}.site-footer{padding:var(--space-50) var(--space-60);border-top:1px solid var(--color-accent-3);color:var(--color-tertiary);font-size:var(--font-size-small)}.container{padding:var(--space-60);max-width:var(--wide-width);margin:0 auto}.columns{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-60);align-items:start;max-width:var(--content-width);margin:0 auto;width:100%}.col-main{width:100%}.post-title{margin:0 0 var(--space-70);position:relative;padding-left:0}.post-title:before{content:"./";margin-left:-28px;color:var(--color-accent-4);position:absolute;left:0;font-weight:400}.post-title:hover:before{color:var(--color-primary)}.post-title a{color:var(--color-secondary)}.post-title a:hover{background-color:var(--color-accent);color:var(--color-primary)}.post-content a{background-color:var(--color-accent-2);padding:2px 4px}.post-content a:hover{background-color:var(--color-accent);color:var(--color-primary)}.col-side{position:sticky;top:var(--space-60)}.sidebar{min-height:100vh;margin:0;padding:var(--space-50) var(--space-60);display:flex;flex-direction:column;align-items:center;gap:12px;max-width:var(--max-side);justify-self:center}.handle,.tagline{font-size:var(--font-size-small);color:var(--color-primary);margin:0;text-align:center;font-weight:300}.avatar{width:100%;max-width:var(--max-side);margin:0;aspect-ratio:1/1;border-radius:50%;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.social{display:flex;gap:12px;list-style:none;padding:0;margin:0}.social a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0;border:none;border-radius:0;background:transparent;font-size:var(--font-size-tiny)}.social a:hover{opacity:.9;transform:translateY(-1px);transition:transform .12s ease,opacity .12s ease}.social a img{display:block;width:18px;height:18px}ul,ol{padding-left:var(--space-70)}hr{border:0;border-bottom:1px solid var(--color-secondary);margin:var(--space-60) 0}.spacer-large{height:25px}.page-container{width:100%;max-width:1000px;margin:0 auto;padding:0 var(--space-60)}.page-content{width:100%}.page-title{font-size:var(--font-size-l);font-weight:700;line-height:1.1;margin:0 0 var(--space-30);color:var(--color-secondary)}.page-title:hover{background-color:var(--color-accent-2);color:var(--color-primary)}.page-body{font-size:var(--font-size-medium);font-weight:300;line-height:1.6;color:var(--color-secondary)}.page-body :global(h2),.page-body h2{font-size:var(--font-size-large);font-weight:700;margin:var(--space-70) 0 var(--space-30)}.page-body :global(h3),.page-body h3{font-size:var(--font-size-medium);font-weight:700;margin:var(--space-60) 0 var(--space-30)}.page-body :global(p),.page-body p{margin:var(--space-50) 0}.page-body :global(a),.page-body a{color:var(--color-link);background-color:transparent;padding:0;text-decoration:underline;text-decoration-color:transparent;transition:color .15s ease,background-color .15s ease,text-decoration-color .15s ease}.page-body :global(a:hover),.page-body a:hover{color:var(--color-link-hover);background-color:var(--color-accent-2);text-decoration-color:var(--color-link-hover)}.page-body :global(strong),.page-body strong{font-weight:500}.page-body :global(em),.page-body em{font-style:italic}.page-body :global(code),.page-body code{font-family:var(--font-family);font-size:var(--font-size-small);background-color:var(--color-accent-2);padding:2px 6px;border-radius:3px}.page-body :global(pre),.page-body pre{background-color:var(--color-accent-2);border:2px solid var(--color-accent-4);padding:var(--space-50);overflow-x:auto;border-radius:4px;margin:var(--space-60) 0}.page-body :global(pre code),.page-body pre code{background-color:transparent;padding:0}.page-body :global(blockquote),.page-body blockquote{border-left:4px solid var(--color-primary);padding-left:var(--space-50);font-size:var(--font-size-large);font-style:normal;margin:var(--space-60) 0;color:var(--color-secondary)}.page-body :global(ul),.page-body :global(ol),.page-body ul,.page-body ol{padding-left:var(--space-70);margin:var(--space-50) 0}.page-body :global(li),.page-body li{margin:var(--space-30) 0}.page-date{display:block;font-size:var(--font-size-small);color:var(--color-tertiary);font-weight:300;margin-bottom:var(--space-60)}.posts-container{display:flex;gap:var(--space-60);width:100%;max-width:1000px;margin:0 auto;padding:var(--space-60) var(--space-60) 0}.post-nav{display:flex;justify-content:center;gap:100px;margin-top:var(--space-70);align-items:center}.post-nav a{color:var(--color-secondary);background:transparent;text-decoration:none;font-size:var(--font-size-small);transition:background-color .12s ease,color .12s ease,transform .12s ease}.post-nav a:hover{background-color:var(--color-accent-2);color:var(--color-link-hover);transform:translateY(-2px)}.prev-post{justify-self:start}.next-post{justify-self:end}.posts-wrapper{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:var(--space-60);align-items:start}.posts-sidebar{position:sticky;top:var(--space-60);padding:var(--space-50) 0 var(--space-70);align-self:start}.posts-sidebar-content{max-width:340px}.posts-sidebar-content{display:flex;flex-direction:column;gap:var(--space-30)}.intro-aside{max-width:var(--content-width);margin:0 auto;font-size:var(--font-size-medium);color:var(--color-secondary);font-weight:300;line-height:1.6}.intro-aside h1{font-size:var(--font-size-xxl);font-weight:700;color:var(--color-primary);margin-bottom:var(--space-30)}.intro-aside h2{font-size:var(--font-size-large);font-weight:700;color:var(--color-primary);margin:var(--space-70) 0 var(--space-30)}.latest-posts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-60)}.latest-posts li{margin:0;padding:0}.latest-posts article{display:flex;flex-direction:column;gap:var(--space-30)}.latest-posts header{display:flex;flex-direction:column;gap:8px}.latest-posts h3{font-size:var(--font-size-medium);font-weight:700;margin:0;color:var(--color-secondary)}.latest-posts h3 a{color:var(--color-secondary);text-decoration:none;transition:color .2s ease,background-color .2s ease}.latest-posts h3 a:hover{color:var(--color-primary);background-color:var(--color-accent-2)}.latest-posts time{font-size:var(--font-size-small);color:var(--color-tertiary);font-weight:300}.latest-posts blockquote{border-left:none;padding-left:0;margin:0;font-size:var(--font-size-medium);font-style:normal;color:var(--color-secondary)}.all-posts-link{display:inline-flex;align-items:center;gap:8px;margin-top:var(--space-60);padding:8px 16px;font-size:var(--font-size-medium);font-weight:500;color:var(--color-secondary);background-color:transparent;border:1px solid var(--color-secondary);border-radius:4px;text-decoration:none;transition:all .2s ease}.all-posts-link:hover{color:var(--color-base);background-color:var(--color-primary)}.posts-heading{font-size:var(--font-size-large);font-weight:700;line-height:1.1;margin:0;color:var(--color-primary)}.posts-list{display:flex;flex-direction:column;gap:0}.post-item{display:grid;grid-template-columns:50px 1fr;gap:24px;padding:0 0 var(--space-50);margin-bottom:var(--space-50);border-bottom:1px solid var(--color-accent-3)}.post-item:last-child{border-bottom:none}.post-thumbnail{width:50px;height:50px;flex-shrink:0;display:block;overflow:hidden;border-radius:4px;background-color:var(--color-accent-2)}.post-thumbnail img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.post-thumbnail:hover img{transform:scale(1.05)}.post-header{display:flex;flex-direction:column;gap:8px;grid-column:2}.post-item-title{font-size:var(--font-size-medium);font-weight:700;line-height:1.2;margin:0}.post-item-title:before{content:"./";margin-right:-10px;color:var(--color-accent-4);font-weight:400}.post-item-title a:hover:before{color:var(--color-primary);background-color:var(--color-accent-2)}.post-item-title a{color:var(--color-secondary);text-decoration:none;transition:color .2s ease}.post-item-title a:hover{color:var(--color-primary);background-color:var(--color-accent-2)}.post-date{font-size:var(--font-size-small);color:var(--color-tertiary);font-weight:300}.post-excerpt{grid-column:1 / -1;font-size:var(--font-size-medium);font-weight:300;line-height:1.6;color:var(--color-secondary);margin:var(--space-30) 0 0}.post-spacer{height:var(--space-50);grid-column:1 / -1}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:var(--space-60) 0}.pagination-pages{display:flex;gap:8px;align-items:center}.pagination a,.pagination span{padding:6px 10px;border-radius:4px;text-decoration:none;color:var(--color-secondary);border:1px solid transparent;font-size:var(--font-size-small)}.pagination a:hover{background-color:var(--color-accent-2);color:var(--color-link-hover);transform:translateY(-1px)}.pagination-current{background-color:var(--color-accent-2);color:var(--color-primary);border:1px solid var(--color-accent-3)}@media(max-width:960px){.columns{grid-template-columns:1fr}.col-side{position:static}.sidebar{min-height:auto}.post-title{font-size:var(--font-size-medium)}.posts-wrapper{grid-template-columns:1fr;gap:var(--space-50)}.posts-sidebar{position:static;padding:0 0 var(--space-50)}}@media(max-width:640px){:root{--space-60: 16px}body{font-size:var(--font-size-small)}.site-header,.site-footer,.container,.posts-container{padding:var(--space-50)}.spacer-large{height:50px}.post-item{grid-template-columns:1fr;gap:var(--space-30)}.post-thumbnail,.post-header,.post-excerpt{grid-column:1}.page-container{padding:0 var(--space-50)}.page-title{font-size:var(--font-size-large)}.page-body{font-size:var(--font-size-small)}}
