*{box-sizing:border-box;margin:0;padding:0}:root{--max-width:720px;--text-color:#1a1a1a;--text-muted:#6b7280;--bg-color:#fafafa;--border-color:#e5e7eb;--link-color:#2563eb;--code-bg:#f3f4f6}body{font-family:Crimson Pro,Georgia,serif;line-height:1.7;color:var(--text-color);background:var(--bg-color);font-size:1.1rem}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.landing-content{max-width:480px;text-align:center}.landing h1{font-size:2rem;font-weight:600;margin-bottom:1.5rem;letter-spacing:-.02em}.landing-intro{font-size:1.25rem;line-height:1.7;color:var(--text-muted);margin-bottom:2rem}.landing-nav{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.landing-nav a{color:var(--text-color);font-size:1.1rem;text-decoration:underline;text-underline-offset:3px}.landing-nav a:hover{color:var(--link-color);text-decoration:none}.landing-social{display:flex;justify-content:center;gap:1.25rem;margin-top:2rem}.landing-social a{color:var(--text-muted);transition:color .15s}.landing-social a:hover{color:var(--text-color)}.landing-social svg{width:20px;height:20px}header{border-bottom:1px solid var(--border-color)}.nav{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}.nav-name{font-size:1.15rem;font-weight:600;color:var(--text-color)}.nav-name:hover{color:var(--text-muted);text-decoration:none}.nav-links{display:flex;gap:1.5rem}.nav-links a{font-size:1rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px}.nav-links a:hover{color:var(--text-color);text-decoration:none}main{padding-top:2rem;padding-bottom:2rem}footer{border-top:1px solid var(--border-color);margin-top:4rem}footer .container{padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem;color:var(--text-muted)}.post-list{list-style:none}.post-item{padding:1.5rem 0;border-bottom:1px solid var(--border-color)}.post-item:last-child{border-bottom:none}.post-date{font-size:.875rem;color:var(--text-muted);margin-bottom:.25rem}.post-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.post-title a{color:var(--text-color)}.post-title a:hover{color:var(--link-color)}.post-tags{display:flex;gap:.5rem;flex-wrap:wrap}.tag{font-size:.75rem;background:var(--code-bg);padding:.125rem .5rem;border-radius:.25rem;color:var(--text-muted)}.post-header{margin-bottom:2rem}.post-header h1{font-size:1.75rem;font-weight:600;margin-bottom:.5rem;line-height:1.3}.post-meta{color:var(--text-muted);font-size:.9rem}.post-content{font-size:1.15rem;line-height:1.8}pre,pre[class*=language-]{margin:1.5rem 0;padding:1rem 1.25rem;border-radius:.5rem;overflow-x:auto;font-size:.9rem;line-height:1.6;background:#f6f8fa;border:1px solid #e1e4e8;text-shadow:none}code,code[class*=language-],pre>code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:transparent;text-shadow:none}pre>code{display:block;padding:0;color:#24292e}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6a737d}.token.punctuation{color:#24292e}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#005cc5}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#22863a}.language-css .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.entity,.token.keyword,.token.operator,.token.url{color:#d73a49}.token.class-name,.token.function{color:#6f42c1}.token.important,.token.regex,.token.variable{color:#e36209}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}