*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;font-family:ui-monospace,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,Oxygen Mono,Ubuntu Mono,Source Code Pro,Fira Mono,Droid Sans Mono,Consolas,Courier New,monospace;font-style:normal;line-height:1.5;-webkit-tap-highlight-color:transparent;&::selection{color:#fff;background:#d0316e}}:root{--color-background: #111217;--color-background-button: #222227;--color-border: #333333;--color-rose: #d0316e;--color-yellow: #ffee6c;--color-text: #cfcfe6;--color-titletext: #ededf6;--color-text-dim: #818393;--focus-outline-size: 3px;--focus-outline-offset: 2px;--max-inline-size: 1376px;--max-inline-size-post-content: 100ch;--navbar-height: 3.875rem;--footer-height: 3.75rem;--content-hpadding: 1rem;--content-vpadding: 3.75rem;view-transition-name:none;background-color:var(--color-background);color:var(--color-text);:focus-visible{outline:var(--focus-outline-size) solid var(--color-rose);outline-offset:var(--focus-outline-offset)}}a{color:var(--color-yellow);overflow-wrap:break-word;text-decoration:dotted underline;&:hover{text-decoration:none}}blockquote{color:var(--color-text-dim);background-color:var(--color-background-button);margin-block:1rem;padding-inline-start:4rem;padding-inline-end:1.5rem;border-radius:.5rem;padding-block:.75rem;position:relative}blockquote:before{content:"“";position:absolute;color:var(--color-text);font-size:3rem;top:.85rem;left:1.25rem}button{border:none;background-color:transparent;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:not(pre.astro-code)>code{font-family:Fira Code,monospace;color:#ff498f;background-color:#30252a;padding:0 .25rem;margin:0 .125rem;border-radius:.25rem;overflow-wrap:anywhere}details{background-color:var(--color-background-button);border-radius:.5rem;padding:.75rem 1rem;margin-block:1rem;summary{font-weight:600}}em{font-style:italic}h1{color:var(--color-titletext);font-size:2rem;font-weight:600;margin-block-end:1rem}h2{color:var(--color-titletext);font-size:1.75rem;font-weight:600;margin-block-start:1.5rem;margin-block-end:1rem}h3,h4,h5,h6{color:var(--color-titletext);font-size:1.25rem;font-weight:600;margin-block-start:1.5rem;margin-block-end:1rem}:is(h1,h2,h3,h4,h5,h6):has(+:is(h1,h2,h3,h4,h5,h6)){margin-block-end:0rem}h1:has(>a),h2:has(>a),h3:has(>a),h4:has(>a),h5:has(>a),h6:has(>a){position:relative;>a{color:inherit;text-decoration:none;&:before{content:"#";margin-inline-end:1rem;color:oklch(from currentColor calc(l - .35) c h)}&:hover:before{color:inherit}}}h1:has(>a)>a:before{margin-inline-end:0}main article img{inline-size:100%;block-size:auto;object-fit:contain}main article a>img{cursor:pointer}main article figcaption{margin-block-start:.75rem;font-size:.9rem;color:var(--color-text-dim);text-align:center}ul>li{list-style-type:"‣  ";margin-inline-start:1rem}ol>li{margin-inline-start:1rem}p{margin-block-start:1rem;margin-block-end:1rem}pre.astro-code{margin:1rem 0;counter-reset:step;position:relative;max-block-size:85vh;border-radius:.25rem;>code{padding:.75rem;display:block}>code .line:before{display:inline-block;color:#585665;content:counter(step);counter-increment:step;inline-size:3ch;margin-inline-end:2ch;text-align:right}.code-copy-button{position:sticky;top:0;left:0;padding:.75rem;inline-size:100%;background-color:inherit;border-block-start:3px solid transparent;border-inline-start:3px solid transparent;border-inline-end:3px solid transparent;border-block-end:2px solid var(--color-border);color:var(--color-text);font-weight:600;&:before{content:"📋";margin-inline-end:.5rem}&:after{content:"Copy"}&:focus-visible{outline:none;border-color:var(--color-rose)}&:hover{background-color:#282834}&[disabled]{color:oklch(from var(--color-text) calc(l - .5) c h);pointer-events:none;&:before{content:"❌";opacity:.4}&:after{content:"Copy button requires JavaScript"}}&.code-copied{&:before{content:"✅"}&:after{content:"Copied"}}}}:where(main ol,main ul){margin-block:1rem;padding-inline-start:2rem}@keyframes reveal-from-side{0%{opacity:0;transform:translate(var(--reveal-from-side-offset, 3rem))}to{opacity:1;transform:translate(0)}}@media(min-width:40rem){:root{--content-hpadding: 1.5rem}}@media(prefers-reduced-motion:no-preference){*{scroll-behavior:smooth}}
