@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,700;1,400&display=swap";code[class*=language-],pre[class*=language-]{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;color:#eee;background:#2f2f2f;font-family:var(--font-mono);font-size:1em;line-height:1.5em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,pre[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-] ::-moz-selection{background:#363636}code[class*=language-]::selection,pre[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-] ::selection{background:#363636}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.2em;padding:.1em}pre[class*=language-]{overflow:auto;position:relative;margin:.5em 0;padding:1.25em 1em}.language-css>code,.language-sass>code,.language-scss>code{color:#fd9170}[class*=language-] .namespace{opacity:.7}.token.atrule{color:#c792ea}.token.attr-name{color:#ffcb6b}.token.attr-value,.token.attribute{color:#a5e844}.token.boolean{color:#c792ea}.token.builtin{color:#ffcb6b}.token.cdata,.token.char{color:#80cbc4}.token.class{color:#ffcb6b}.token.class-name{color:#f2ff00}.token.comment{color:#616161}.token.constant{color:#c792ea}.token.deleted{color:#f66}.token.doctype{color:#616161}.token.entity{color:#f66}.token.function{color:#c792ea}.token.hexcode{color:#f2ff00}.token.id,.token.important{color:#c792ea;font-weight:700}.token.inserted{color:#80cbc4}.token.keyword{color:#c792ea}.token.number{color:#fd9170}.token.operator{color:#89ddff}.token.prolog{color:#616161}.token.property{color:#80cbc4}.token.pseudo-class,.token.pseudo-element{color:#a5e844}.token.punctuation{color:#89ddff}.token.regex{color:#f2ff00}.token.selector{color:#f66}.token.string{color:#a5e844}.token.symbol{color:#c792ea}.token.tag{color:#f66}.token.unit{color:#fd9170}.token.url,.token.variable{color:#f66}:root{--bg: #f4f3ee;--fg: #161616;--muted: #73716a;--rule: #d9d7cf;--accent: #d4583f;--accent-soft: #d4583f1f;--ok: #3a9d4a;--red: #d47563;--blue: #5c6181;--yellow: #ecc197;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--measure: 44rem;--gutter: clamp(1rem, 4vw, 2rem);color-scheme:light}[data-theme=dark]{--bg: #121211;--fg: #e7e5de;--muted: #8b8980;--rule: #2b2a27;--accent: #ec7a5f;--accent-soft: #ec7a5f24;--ok: #5fc46f;--red: #e08a76;--blue: #8d93bd;--yellow: #ecc197;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-mono);font-size:16px;background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);line-height:1.7}main{flex:1;width:100%;max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:3rem var(--gutter) 0}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--accent);text-decoration-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px dashed var(--accent);outline-offset:3px}h1,h2,h3,h4{line-height:1.25;font-weight:700;letter-spacing:-.01em}hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}img{max-width:100%}.label{font-size:.8rem;color:var(--muted);text-transform:lowercase;letter-spacing:.04em;margin:0 0 1rem}.label:before{content:"[ ";color:var(--accent)}.label:after{content:" ]";color:var(--accent)}.page-title{font-size:clamp(1.75rem,5vw,2.25rem);margin:0 0 .5rem;text-transform:lowercase}.page-title:after{content:"_";color:var(--accent);animation:caret 1.1s steps(1) infinite}.page-subtitle{color:var(--muted);margin:0 0 3rem}@keyframes caret{50%{opacity:0}}.dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);margin-right:.6rem;vertical-align:middle;animation:blink 2s steps(1) infinite}.dot.ok{background:var(--ok)}@keyframes blink{50%{opacity:.25}}.date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;white-space:nowrap}.tags{display:inline-flex;flex-wrap:wrap;gap:0 .75rem}.tag{font-size:.85rem;color:var(--muted);text-decoration:none;text-transform:lowercase}.tag:before{content:"#";color:var(--rule);transition:color .15s ease}.tag:hover:before{color:var(--accent)}.error-box{border-left:2px solid var(--accent);padding:.25rem 0 .25rem 1rem;margin:1rem 0}.error-box p{margin:0}.error-box .error-text{color:var(--accent);font-weight:700}.error-box .error-subtitle{color:var(--muted);font-size:.85rem}.headerImage{display:block;width:100%;border:1px solid var(--rule);margin:0 0 2.5rem}.post-header{margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rule)}.post-header .title{font-size:clamp(1.75rem,5vw,2.5rem);margin:0 0 1rem}.post-header .meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem}.content{font-size:.95rem}.content h1{font-size:1.6rem;margin:3rem 0 1rem}.content h2{font-size:1.3rem;margin:3rem 0 1rem}.content h2:before{content:"## ";color:var(--accent)}.content h3{font-size:1.05rem;margin:2rem 0 .75rem}.content h3:before{content:"### ";color:var(--muted)}.content p,.content ul,.content ol{margin:0 0 1.4rem}.content li{margin-bottom:.35rem}.content ul{list-style:none;padding-left:1.25rem}.content ul>li:before{content:"-";color:var(--accent);display:inline-block;width:1.25rem;margin-left:-1.25rem}.content a{text-decoration-color:var(--accent)}.content blockquote{margin:1.5rem 0;padding:0 0 0 1rem;border-left:2px solid var(--accent);color:var(--muted)}.content img{display:block;margin:2rem auto;border:1px solid var(--rule)}.content :not(pre)>code{font-size:.88em;background:var(--accent-soft);padding:.1em .35em;border-radius:2px}.content pre,.content pre[class*=language-]{margin:1.75rem 0;border:1px solid var(--rule);border-radius:2px;font-size:.85rem;overflow-x:auto}button.svelte-1owbj6f{display:flex;align-items:center;gap:.4rem;padding:.15rem .5rem;font:inherit;color:var(--muted);background:none;border:1px solid var(--rule);border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}button.svelte-1owbj6f:hover{color:var(--fg);border-color:var(--accent)}img.svelte-1owbj6f{width:14px;height:14px;object-fit:contain}header.svelte-9m7j3n{width:100%;max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:1.5rem var(--gutter);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--rule)}.home-link.svelte-9m7j3n{display:flex;align-items:center;gap:.6rem;font-weight:700;text-decoration:none}.accent.svelte-9m7j3n{color:var(--accent)}.cd.svelte-9m7j3n{width:18px;height:18px;animation:svelte-9m7j3n-spin 8s linear infinite}.home-link.svelte-9m7j3n:hover .cd:where(.svelte-9m7j3n){animation-duration:.4s}ul.svelte-9m7j3n{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;font-size:.9rem}nav.svelte-9m7j3n a:where(.svelte-9m7j3n){display:flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--muted)}nav.svelte-9m7j3n a:where(.svelte-9m7j3n):hover,nav.svelte-9m7j3n a.active:where(.svelte-9m7j3n){color:var(--fg)}nav.svelte-9m7j3n a.active:where(.svelte-9m7j3n) span:where(.svelte-9m7j3n):before{content:">";color:var(--accent);margin-right:.25rem}nav.svelte-9m7j3n img:where(.svelte-9m7j3n){width:14px;height:14px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:filter .2s ease,opacity .2s ease,transform .2s ease}nav.svelte-9m7j3n a:where(.svelte-9m7j3n):hover img:where(.svelte-9m7j3n),nav.svelte-9m7j3n a.active:where(.svelte-9m7j3n) img:where(.svelte-9m7j3n){filter:none;opacity:1;transform:rotate(-12deg) scale(1.2)}@keyframes svelte-9m7j3n-spin{to{transform:rotate(360deg)}}footer.svelte-120hzyg{width:100%;max-width:calc(var(--measure) + 2 * var(--gutter));margin:6rem auto 0;padding:2rem var(--gutter) 3rem;border-top:1px solid var(--rule);font-size:.85rem;color:var(--muted)}.made.svelte-120hzyg{margin:0 0 1.5rem}.columns.svelte-120hzyg{display:flex;flex-wrap:wrap;gap:1.5rem 4rem}ul.svelte-120hzyg{list-style:none;margin:0;padding:0}.heading.svelte-120hzyg{color:var(--fg);margin-bottom:.25rem}a.svelte-120hzyg{text-decoration:none}a.svelte-120hzyg:before{content:"↳ ";color:var(--rule)}a.svelte-120hzyg:hover:before{color:var(--accent)}
