@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:green;--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);scrollbar-gutter:stable;font-size:1.2rem;font-weight:400;line-height:1.5}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}body{background-color:var(--color-background);color:var(--color-text);margin:8px;display:block}*{-webkit-tap-highlight-color:#0000}a{color:var(--color-accent);font-weight:500;text-decoration:none}a:hover{color:var(--color-accent)}img{border:3px solid var(--color-image-border);max-width:100%}p{line-height:1.65}hr{border:0;border-top:3px dotted var(--color-border);margin:1em 0}blockquote{border-left:3px solid var(--color-border);color:var(--color-muted);margin:0;padding-left:1em}h1{letter-spacing:-.035em;max-width:16ch;margin:0 0 1.5rem;font-size:clamp(2.25rem,5vw,2.75rem);line-height:1.08}h2{margin:2.5rem 0 .75rem;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{border:1px solid var(--color-table-border);padding:6px 13px}th{font-size:large}@media screen and (width>=640px){h1{font-size:2.25rem;line-height:2.5rem}}}@layer layout{.content{overflow-wrap:break-word;max-width:1100px;margin:0 auto 4em;padding:0 1.25rem}header{border-bottom:1px solid color-mix(in srgb, var(--color-text) 18%, transparent);view-transition-name:site-header;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:1.5rem 0 2rem;padding-bottom:.9rem;line-height:1.2;display:flex}main{view-transition-name:site-main}footer{border-top:.05rem solid var(--color-border);view-transition-name:site-footer;justify-content:flex-end;align-items:center;margin-top:2rem;padding:1rem 0;display:flex}.site-title{letter-spacing:.01em;padding:.35rem 0;font-size:1.25rem;font-weight:500;line-height:1;text-decoration:none;transition:color .22s;display:inline-block}.site-nav{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.site-nav a{color:var(--color-muted);font-size:1rem;font-weight:700;line-height:1.4;text-decoration:none;transition:color .16s}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.active,.site-title:hover,.site-title:focus-visible{color:var(--color-text)}.footer-info{color:var(--color-muted);font-size:.9rem}.title h1{margin-bottom:0}@media screen and (width>=640px){.site-title{font-size:1.5rem}header{align-items:flex-start;margin-top:1.25rem}.site-nav{gap:.25rem .85rem}}@media screen and (width>=900px){.about-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,24rem);gap:4.5rem}.about-sidebar{padding-top:1rem}}}@layer components{.home-link{font-family:var(--font-mono,"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace)}.meta{color:var(--color-muted-strong);letter-spacing:-.5px;font-size:.9rem}.posts{margin:0;padding:0;list-style:inside none}.post{margin-bottom:1.5em}.post:last-child{margin-bottom:0}.post-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1em;display:flex}.post-title{font-weight:600}.post-summary{margin:.25em 0 .5em}.blockspam{display:none}.about-layout{align-items:start;gap:3rem;display:grid}.about-photo-frame{aspect-ratio:1;border-radius:1rem;justify-self:center;width:min(100%,22rem);overflow:hidden;transform:rotate(2deg)}.about-photo{box-sizing:border-box;object-fit:cover;object-position:center;transform-origin:42% 48%;border:0;border-radius:0;width:100%;height:100%;display:block;transform:scale(1.5)}}@layer prose{figure{box-sizing:border-box;max-width:100%;margin:0;display:inline-block}figure img{max-height:500px}@media screen and (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);background-color:var(--color-code-inline-bg);padding:.1em .2em}pre{font-family:var(--font-mono,"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace);background-color:var(--color-code-block-bg);padding:1em;line-height:1.4;overflow-x:auto}pre code{color:inherit;background-color:#0000;padding:0;font-size:100%}.highlight{-webkit-overflow-scrolling:touch;position:relative}.highlight pre::selection{color:inherit;background:#fff3}.highlight pre code[class*=language-]{-webkit-overflow-scrolling:touch}.highlight pre code[class*=language-]:before{background:var(--color-border);color:var(--color-text-inverse);letter-spacing:.025rem;text-align:right;text-transform:uppercase;border-radius:0 0 .25rem .25rem;padding:.1rem .5rem;font-size:12px;position:absolute;top:0;right:1rem}.highlight pre code[class=language-javaScript]:before,.highlight pre code[class=language-js]:before{content:"js";color:var(--color-text-on-light);background:#f7df1e}.highlight pre code[class*=language-yml]:before,.highlight pre code[class*=language-yaml]:before{content:"yaml";color:var(--color-text-inverse);background:#f71e6a}.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)}}
