@layer tokens,base,layout,components,prose;@layer tokens{:root{--font-sans: "Helvetica Neue", Arial, sans-serif;--color-text: #313131;--color-accent: #faa634;--color-border: #000;--color-callout: dodgerblue;--color-background: #faf8f5;--color-muted: #737373;--color-muted-strong: #999;--color-image-border: #ececec;--color-code-inline-bg: #f1f1f1;--color-code-block-bg: #ececec;--color-table-border: #dfe2e5;--color-text-inverse: #fff;--color-text-on-light: #000;--color-badge-shell: #008000;--color-badge-python: #00f;--color-badge-python-text: #ff0;--color-badge-css: #0ff;--color-badge-go-text: #4169e1;--color-badge-md-text: #f5f5f5}}@layer base{@view-transition{navigation:auto}html{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;font-weight:400;line-height:1.5;scrollbar-gutter:stable}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}body{display:block;margin:8px;background-color:var(--color-background);color:var(--color-text)}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}a{color:var(--color-accent);font-weight:500;text-decoration:none}a:hover{color:var(--color-accent)}img{max-width:100%;border:3px solid var(--color-image-border)}hr{margin:1em 0;border:0;border-top:3px dotted var(--color-border)}blockquote{margin:0;padding-left:1em;border-left:3px solid var(--color-border);color:var(--color-muted)}h1{font-size:1.875rem;line-height:2.25rem}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.125rem;font-weight:600;line-height:1.75rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700}code,pre,kbd,samp{font-family:var( --font-mono, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace )}time{color:var(--color-muted)}svg{max-height:15px}table{border-collapse:collapse;border-spacing:0}th,td{padding:6px 13px;border:1px solid var(--color-table-border)}th{font-size:large}@media screen and (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}}@layer layout{.content{max-width:800px;margin:0 auto 4em;padding:0 1.25rem;overflow-wrap:break-word}header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin:1.5rem 0 2rem;padding-bottom:.9rem;border-bottom:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);line-height:1.2;view-transition-name:site-header}main{view-transition-name:site-main}footer{display:flex;align-items:center;justify-content:flex-end;margin-top:2rem;padding:1rem 0;border-top:.05rem solid var(--color-border);view-transition-name:site-footer}.site-title{display:inline-block;padding:.35rem 0;font-size:1.25rem;font-weight:500;letter-spacing:.01em;line-height:1;text-decoration:none;transition:color .22s ease}.site-nav{display:flex;flex-wrap:wrap;gap:.35rem 1rem}.site-nav a{color:var(--color-muted);font-size:1rem;font-weight:700;line-height:1.4;text-decoration:none;transition:color .16s ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--color-text)}.site-nav a.active{color:var(--color-text)}.site-title:hover,.site-title:focus-visible{color:var(--color-text)}.footer-info{font-size:.9rem;color:var(--color-muted)}.title h1{margin-bottom:0}@media screen and (min-width:640px){.site-title{font-size:1.5rem}}@media screen and (max-width:639px){header{align-items:flex-start;margin-top:1.25rem}.site-nav{gap:.25rem .85rem}}}@layer components{.home-link{font-family:var( --font-mono, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace )}.meta{color:var(--color-muted-strong);font-size:.9rem;letter-spacing:-.5px}.posts{margin:0;padding:0;list-style:none;list-style-position:inside}.post{margin-bottom:1.5em}.post:last-child{margin-bottom:0}.post-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1em;flex-wrap:wrap}.post-title{font-weight:600}.post-summary{margin:.25em 0 .5em}.blockspam{display:none}}@layer prose{figure{box-sizing:border-box;display:inline-block;max-width:100%;margin:0}figure img{max-height:500px}@media screen and (min-width:600px){figure{padding:0 40px}}figure h4{margin:0 0 1em;font-size:1rem}figure h4:before{content:"↳ "}code{font-family:var( --font-mono, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace );padding:.1em .2em;background-color:var(--color-code-inline-bg)}pre{font-family:var( --font-mono, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace );overflow-x:auto;padding:1em;background-color:var(--color-code-block-bg);line-height:1.4}pre code{padding:0;background-color:transparent;color:inherit;font-size:100%}.highlight{position:relative;-webkit-overflow-scrolling:touch}.highlight pre::selection{background:#fff3;color:inherit}.highlight pre code[class*=language-]{-webkit-overflow-scrolling:touch}.highlight pre code[class*=language-]:before{position:absolute;top:0;right:1rem;padding:.1rem .5rem;border-radius:0 0 .25rem .25rem;background:var(--color-border);color:var(--color-text-inverse);font-size:12px;letter-spacing:.025rem;text-align:right;text-transform:uppercase}.highlight pre code[class=language-javaScript]:before,.highlight pre code[class=language-js]:before{content:"js";background:#f7df1e;color:var(--color-text-on-light)}.highlight pre code[class*=language-yml]:before,.highlight pre code[class*=language-yaml]:before{content:"yaml";background:#f71e6a;color:var(--color-text-inverse)}.highlight pre code[class*=language-shell]:before,.highlight pre code[class*=language-bash]:before,.highlight pre code[class*=language-sh]:before{content:"shell";background:var(--color-badge-shell);color:var(--color-text-inverse)}.highlight pre code[class*=language-json]:before{content:"json";background:var(--color-callout);color:var(--color-text-on-light)}.highlight pre code[class*=language-python]:before,.highlight pre code[class*=language-py]:before{content:"py";background:var(--color-badge-python);color:var(--color-badge-python-text)}.highlight pre code[class*=language-css]:before{content:"css";background:var(--color-badge-css);color:var(--color-text-on-light)}.highlight pre code[class*=language-go]:before{content:"Go";background:var(--color-badge-css);color:var(--color-badge-go-text)}.highlight pre code[class*=language-md]:before{content:"Markdown";background:var(--color-badge-go-text);color:var(--color-badge-md-text)}}
