:root{--blue:#256eff;--card:#3b82f6;--bg:#ffffff;--bg-soft:#f8f8f8;--heading:#2c3e50;--text:#2c3e50;--muted:rgba(60, 60, 60, 0.66);--border:rgba(60, 60, 60, 0.12)}@media(prefers-color-scheme:dark){:root{--bg:#181818;--bg-soft:#222222;--heading:#ffffff;--text:rgba(235, 235, 235, 0.8);--muted:rgba(235, 235, 235, 0.64);--border:rgba(84, 84, 84, 0.48)}}*,*::before,*::after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{min-height:100vh;display:flex;flex-direction:column;color:var(--text);background:var(--bg);font-family:chakra petch,Inter,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;font-size:16px;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}main{flex:1}a{color:var(--blue);text-decoration:none}img{max-width:100%;height:auto;border-radius:6px}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-inner{display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:1.25rem 2rem}.logo{width:3.5rem;color:var(--blue);display:block}.site-nav{display:flex;gap:1.5rem;font-family:oxanium,sans-serif;font-weight:700;font-size:1.5rem}.site-nav a{color:var(--blue)}.site-nav a.muted{color:var(--heading)}.site-nav a:hover{opacity:.7}.page{max-width:1280px;margin:0 auto;padding:2.5rem 2.5rem 1rem}.post{max-width:760px}.hello{font-size:1.25rem}.hello-name{display:block;font-size:3.75rem;line-height:1.1;color:var(--heading)}.section-title{margin-top:3rem;font-size:1.875rem;font-weight:400;color:var(--heading)}.faded,.close-brace{opacity:.5}.close-brace{font-size:1.875rem;display:block;margin-top:1.5rem}.card-grid{display:grid;gap:1rem;margin-top:1.5rem;grid-template-columns:1fr}@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}.card{display:flex;flex-direction:column;min-height:18rem;padding:2rem 1.25rem;border-radius:6px;background:var(--card);color:#fff;transition:transform .5s ease-in-out}.card:hover{transform:scale(1.05)}.card-top{display:flex;justify-content:space-between;gap:1rem}.card-label{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.card h3{margin-top:1.5rem;font-size:1.5rem;font-weight:700;line-height:1.25}.card p{margin-top:1rem;font-size:.95rem;font-weight:300}.post-meta{color:var(--muted);font-size:.9rem}.post-title{margin:.5rem 0 2rem;font-size:2.5rem;line-height:1.2;font-weight:700;color:var(--heading)}.content h2,.content h3{margin:2.25rem 0 .75rem;color:var(--heading);line-height:1.3;font-weight:700}.content h2{font-size:1.875rem}.content h3{font-size:1.5rem}.content p,.content ul,.content ol{margin-bottom:1.25rem}.content ul,.content ol{padding-left:1.5rem}.content li{margin-bottom:.4rem}.content li>ul{margin-top:.4rem;margin-bottom:0}.content a{border-bottom:1px solid}.content a:hover{background:rgba(37,110,255,.15)}.content img{display:block;margin:1.5rem 0}.content code{padding:.15em .4em;border-radius:4px;background:var(--bg-soft);border:1px solid var(--border);font-size:.9em}.content pre{margin-bottom:1.25rem;padding:1rem;overflow-x:auto;border-radius:6px}.content pre code{padding:0;border:0;background:0 0}.content blockquote{margin:1.5rem 0;padding-left:1rem;border-left:4px solid var(--blue);color:var(--muted)}.fill-button{display:inline-block;overflow:hidden;padding:.75rem 1rem;border:2px solid var(--blue);border-radius:6px;color:var(--blue);background:url(/liquid.svg)repeat-x 0 -100%;transition:background-position 1s ease}.fill-button:hover{background-position:100%;color:#fff}.back{margin-top:2rem}.site-footer{max-width:1280px;width:100%;margin:2.5rem auto 0;padding:0 2.5rem 2rem}.footer-title{margin-bottom:1.25rem;font-size:3rem;font-weight:400;color:var(--heading)}.site-footer .fill-button{margin:1.25rem 0 2.5rem}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.footer-links{display:flex;gap:.75rem;font-size:1.25rem}@media(max-width:640px){.header-inner{padding:1.25rem 2rem}.site-nav{font-size:1.1rem;gap:1rem}.hello-name{font-size:2.75rem}.post-title{font-size:2rem}}.comments{margin-top:3rem}.comments .section-title{margin-top:0;margin-bottom:1rem}