.anchor-link{opacity:0;color:#9ca3af;font-size:.85em;text-decoration:none;transition:opacity .15s;position:absolute;left:-1.5em}.anchor-link:before{content:"#"}h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link{opacity:.6}h2,h3,h4{position:relative}.prose{font-size:1.0625rem;line-height:1.85}.prose h2{margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;line-height:1.3}.prose h3{margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600;line-height:1.4}.prose h4{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.prose p{margin-bottom:1.25rem}.prose a{color:var(--mui-palette-primary-main);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--mui-palette-primary-dark)}.prose strong{font-weight:600}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--mui-palette-text-secondary)}.prose img{border-radius:.5rem;margin-top:2rem;margin-bottom:2rem}.prose blockquote{border-left:3px solid var(--mui-palette-primary-main);background:color-mix(in srgb, var(--mui-palette-primary-main) 4%, transparent);border-radius:0 .5rem .5rem 0;margin:2rem 0;padding:1.25rem 1.5rem;font-style:italic}.prose blockquote p:before,.prose blockquote p:after{content:none}.prose pre{border:1px solid var(--mui-palette-divider);background:var(--mui-palette-action-hover);border-radius:.5rem;padding:1.25rem;overflow-x:auto}.prose pre code{background:0 0;border-radius:0;padding:0;font-size:.875rem}.prose code{background:var(--mui-palette-action-hover);border-radius:.25rem;padding:.125rem .375rem;font-size:.875em}.prose hr{border:none;border-top:1px solid var(--mui-palette-divider);margin:2rem 0}.reading-progress{background:var(--mui-palette-primary-main);z-index:9999;height:2px;transition:width 50ms linear;position:fixed;top:0;left:0}html{scroll-behavior:smooth;scroll-padding-top:5rem}.hero-glow:before,.hero-glow:after{content:"";filter:blur(100px);pointer-events:none;opacity:.3;border-radius:50%;width:20rem;height:20rem;position:absolute}.hero-glow:before{background:color-mix(in srgb, var(--mui-palette-primary-main) 8%, transparent);top:-8rem;left:10%}.hero-glow:after{background:color-mix(in srgb, var(--mui-palette-secondary-main) 6%, transparent);top:-6rem;right:10%}
