:root{--accent: #2337ff;--accent-dark: #000d8a;--black: 15, 18, 25;--gray: 96, 115, 159;--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%);--color-bg: #ffffff;--color-bg-gradient-from: rgba(229, 233, 240, .5);--color-surface: #f4f6fb;--color-text: rgb(34, 41, 57);--color-text-muted: rgb(96, 115, 159);--color-heading: rgb(15, 18, 25);--color-border: rgb(229, 233, 240);--color-header-bg: #ffffff;--color-code-bg: rgb(229, 233, 240);--color-nav-link: rgb(15, 18, 25);--color-tag-text: #000000}[data-theme=dark],html.dark{--accent: #7b8fff;--accent-dark: #a5afff;--black: 230, 232, 240;--gray: 160, 174, 192;--gray-light: 45, 52, 70;--gray-dark: 210, 215, 230;--gray-gradient: rgba(20, 24, 40, .9), #0d1020;--box-shadow: 0 2px 6px rgba(0,0,0, 40%), 0 8px 24px rgba(0,0,0, 33%), 0 16px 32px rgba(0,0,0, 33%);--color-bg: #0d1020;--color-bg-gradient-from: rgba(20, 24, 40, .9);--color-surface: #1a1f35;--color-text: rgb(210, 215, 230);--color-text-muted: rgb(140, 155, 185);--color-heading: rgb(230, 232, 240);--color-border: rgb(45, 52, 70);--color-header-bg: #0d1020;--color-code-bg: rgb(30, 36, 56);--color-nav-link: rgb(210, 215, 230);--color-tag-text: #ffffff}@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(--color-bg-gradient-from),var(--color-bg)) no-repeat;background-size:100% 600px;background-color:var(--color-bg);word-wrap:break-word;overflow-wrap:break-word;color:var(--color-text);font-size:20px;line-height:1.7;transition:background-color .3s ease,color .3s ease}main{width:720px;max-width:calc(100% - 2em);margin:auto;padding:3em 1em}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;color:var(--color-heading);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}strong,b{font-weight:700}a,a:hover{color:var(--accent)}p{margin-bottom:1em}.prose p{margin-bottom:2em}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{max-width:100%;height:auto;border-radius:8px;display:block;margin:2rem auto}code{padding:2px 5px;background-color:var(--color-code-bg);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 var(--color-border)}@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);clip-path:inset(50%);white-space:nowrap}.blog-main{width:960px;max-width:calc(100% - 2em);margin:auto;padding:3em 1em}a[data-astro-cid-eimmu3lg]{display:inline-block;text-decoration:none}a[data-astro-cid-eimmu3lg].active{font-weight:bolder;text-decoration:underline}button[data-astro-cid-x3pjskd3]{display:flex;border:0;border-radius:999rem;padding:.5rem;background-color:transparent;color:var(--color-nav-link);cursor:pointer;transition:color .2s ease,transform .2s ease}button[data-astro-cid-x3pjskd3]:hover{color:var(--accent);transform:scale(1.1)}button[data-astro-cid-x3pjskd3]:active{transform:scale(.9)}#sun-icon[data-astro-cid-x3pjskd3],#moon-icon[data-astro-cid-x3pjskd3]{transition:opacity .2s ease}[data-theme=light] #sun-icon[data-astro-cid-x3pjskd3]{display:block}[data-theme=light] #moon-icon[data-astro-cid-x3pjskd3],[data-theme=dark] #sun-icon[data-astro-cid-x3pjskd3]{display:none}[data-theme=dark] #moon-icon[data-astro-cid-x3pjskd3]{display:block}header[data-astro-cid-3ef6ksr2]{margin:0;padding:0 1em;background:var(--color-header-bg);box-shadow:0 2px 8px rgba(var(--black),5%);transition:background-color .3s ease;position:sticky;top:0;z-index:100}h2[data-astro-cid-3ef6ksr2]{margin:0;font-size:1em}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;color:var(--color-heading)}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:1em;height:56px}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:1em .5em;color:var(--color-nav-link);border-bottom:4px solid transparent;text-decoration:none}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;border-bottom-color:var(--accent)}.internal-links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.right-side[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.25em}.hamburger[data-astro-cid-3ef6ksr2]{display:none;border:0;background:transparent;color:var(--color-nav-link);cursor:pointer;padding:.5rem;border-radius:6px;transition:color .2s ease}.hamburger[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.mobile-menu[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;padding:.5em 0 1em;border-top:1px solid var(--color-border)}.mobile-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:.6em .5em;color:var(--color-nav-link);text-decoration:none;font-weight:500;border-bottom:none}.mobile-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.mobile-menu[data-astro-cid-3ef6ksr2].open{display:flex}@media(max-width:720px){.internal-links[data-astro-cid-3ef6ksr2]{display:none}.hamburger[data-astro-cid-3ef6ksr2]{display:flex}}footer[data-astro-cid-sz7xmlte]{padding:2em 1em 6em;background:linear-gradient(var(--gray-gradient)) no-repeat;color:rgb(var(--gray));text-align:center}.social-links[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;gap:1em;margin-top:1em}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:none;color:rgb(var(--gray))}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:rgb(var(--gray-dark))}
