:root{--font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--font-body: "Inter", var(--font-fallback);--font-heading: "Space Grotesk", "Poppins", var(--font-fallback);--font-mono: "JetBrains Mono", "IBM Plex Mono", Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;--color-primary: #6366f1;--color-secondary: #8b5cf6;--color-accent: #ec4899;--color-background: #fafafa;--color-text: #18181b;--color-text-light: #52525b;--color-white: #ffffff;--color-black: #09090b;--color-gray-50: #fafafa;--color-gray-100: #f4f4f5;--color-gray-200: #e4e4e7;--color-gray-300: #d4d4d8;--color-gray-400: #a1a1aa;--color-gray-500: #71717a;--color-gray-600: #52525b;--color-gray-700: #3f3f46;--color-gray-800: #27272a;--color-gray-900: #18181b;--color-blue: #3b82f6;--color-blue-rgb: 59, 130, 246;--color-green: #10b981;--color-green-rgb: 16, 185, 129;--color-orange: #f97316;--color-orange-rgb: 249, 115, 22;--color-purple: #8b5cf6;--color-purple-rgb: 139, 92, 246;--color-red: #ef4444;--color-red-rgb: 239, 68, 68;--color-yellow: #f59e0b;--color-yellow-rgb: 245, 158, 11;--content-max-width: 100ch;color-scheme:light;--theme-accent: var(--color-primary);--theme-accent-secondary: var(--color-secondary);--theme-accent-rgb: var(--color-blue-rgb);--theme-accent-opacity: .1;--theme-divider: var(--color-gray-200);--theme-text: var(--color-gray-900);--theme-text-light: var(--color-gray-600);--theme-text-lighter: var(--color-gray-400);--theme-bg: var(--color-white);--theme-bg-offset: var(--color-gray-50);--theme-bg-accent: rgba(var(--theme-accent-rgb), var(--theme-accent-opacity));--theme-code-inline-bg: var(--color-gray-100);--theme-code-text: var(--color-gray-100);--theme-code-bg: var(--color-gray-800);--theme-card-bg: var(--color-white);--theme-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--theme-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--theme-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--theme-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}body{background-color:var(--theme-bg);color:var(--theme-text);font-family:var(--font-body);line-height:1.7;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600}:root.theme-dark{color-scheme:dark;--theme-accent-opacity: .15;--theme-divider: var(--color-gray-800);--theme-text: var(--color-gray-100);--theme-text-light: var(--color-gray-400);--theme-text-lighter: var(--color-gray-500);--theme-bg: var(--color-black);--theme-bg-offset: var(--color-gray-900);--theme-code-inline-bg: var(--color-gray-800);--theme-code-text: var(--color-gray-200);--theme-code-bg: var(--color-gray-900);--theme-card-bg: var(--color-gray-900);--theme-shadow: 0 1px 3px 0 rgb(0 0 0 / .3), 0 1px 2px -1px rgb(0 0 0 / .3);--theme-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--theme-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--theme-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .3), 0 8px 10px -6px rgb(0 0 0 / .3)}::-moz-selection{color:var(--theme-accent);background-color:rgba(var(--theme-accent-rgb),var(--theme-accent-opacity))}::selection{color:var(--theme-accent);background-color:rgba(var(--theme-accent-rgb),var(--theme-accent-opacity))}*{box-sizing:border-box}:root{--user-font-scale: 1rem - 16px;--max-width: calc(100% - 2rem) }@media (min-width: 50em){:root{--max-width: 100ch}}body{font-family:var(--font-body);font-size:1rem;font-size:clamp(.875rem,.4626rem + 1.0309vw + var(--user-font-scale),1.125rem);line-height:1.625}.wrapper{margin-left:auto;margin-right:auto;max-width:var(--content-max-width);width:100%}nav ul{list-style:none;padding:0}:is(h1,h2,h3,h4,h5,h6){margin-bottom:1.38rem;font-weight:400;line-height:1.3}:is(h1,h2){max-width:80ch}:is(h2,h3):not(:first-child){margin-top:3rem}h1{font-size:clamp(2.488rem,1.924rem + 1.41vw,3.052rem)}h2{font-size:clamp(2.074rem,1.707rem + .9175vw,2.441rem)}h3{font-size:clamp(1.728rem,1.503rem + .5625vw,1.953rem)}h4{font-size:clamp(1.44rem,1.317rem + .3075vw,1.563rem)}h5{font-size:clamp(1.2rem,1.15rem + .125vw,1.25rem)}p{color:var(--theme-text-light)}small,.text_small{font-size:.833rem}strong{font-weight:600;color:inherit}code{--border-radius: 3px;--padding-block: .2rem;--padding-inline: .33rem;font-family:var(--font-mono);font-size:.85em;color:inherit;background-color:var(--theme-code-inline-bg);padding:var(--padding-block) var(--padding-inline);margin:calc(var(--padding-block) * -1) -.125em;border-radius:var(--border-radius);word-break:break-word}pre.astro-code>code{all:unset}pre{position:relative;--padding-block: 1rem;--padding-inline: 2rem;padding:var(--padding-block) var(--padding-inline);padding-right:calc(var(--padding-inline) * 2);overflow-y:hidden;overflow-x:auto}@media (min-width: 37.75em){pre{--padding-inline: 1.25rem;border-radius:8px}}.flex{display:flex;align-items:center}img.cover{width:100%;max-height:50vh;-o-object-fit:cover;object-fit:cover}blockquote{font-size:1.5rem;--padding-block: 1rem;--padding-inline: 1.25rem;--color: var(--theme-divider);display:flex;flex-direction:column;padding:var(--padding-block) var(--padding-inline);margin-left:calc(var(--padding-inline) * -1);margin-right:calc(var(--padding-inline) * -1);background:transparent;border-left:calc(var(--padding-inline) / 2) solid var(--color);border-radius:0}blockquote .source{font-weight:500;color:var(--color);font-size:1rem}aside{margin:2rem 0rem;padding:1rem;background-color:#fafad2}body article a:not(h1 a,h2 a,h3 a,h4 a,h5 a){color:var(--color-primary);text-decoration:none;border-bottom:2px solid var(--color-primary);transition:all .2s ease;font-weight:500}body article a:not(h1 a,h2 a,h3 a,h4 a,h5 a):hover{color:var(--color-secondary);border-bottom-color:var(--color-secondary);background-color:rgba(var(--color-purple-rgb),.05)}body article a:not(h1 a,h2 a,h3 a,h4 a,h5 a):active{color:var(--color-accent)}body article a:not(h1 a,h2 a,h3 a,h4 a,h5 a):visited{color:var(--color-purple);border-bottom-color:var(--color-purple)}
