*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, "Courier New", monospace;--max-width: 640px;--base-size: 18px;--line-height: 1.7;--radius: 4px;--bg: #ffffff;--bg-secondary: #f6f6f6;--text: #1a1a1a;--text-secondary: #666666;--link: #2563eb;--link-hover: #1d4ed8;--border: #e5e5e5;--code-bg: #f6f6f6;--tag-bg: #e8e8e8;--tag-text: #444444}[data-theme=dark]{--bg: #111111;--bg-secondary: #1a1a1a;--text: #e5e5e5;--text-secondary: #999999;--link: #60a5fa;--link-hover: #93bbfd;--border: #2a2a2a;--code-bg: #1a1a1a;--tag-bg: #2a2a2a;--tag-text: #bbbbbb}html{font-size:var(--base-size);scroll-behavior:smooth}body{font-family:var(--font-sans);line-height:var(--line-height);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .2s ease,color .2s ease}main{max-width:var(--max-width);margin:0 auto;padding:2rem 1rem;min-height:calc(100vh - 8rem)}h1,h2,h3,h4{line-height:1.3;margin-top:2rem;margin-bottom:.75rem}h1{font-size:1.75rem}h2{font-size:1.4rem}h3{font-size:1.15rem}p{margin-bottom:1.25rem}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}ul,ol{padding-left:1.5rem;margin-bottom:1.25rem}li{margin-bottom:.25rem}blockquote{border-left:3px solid var(--border);padding-left:1rem;color:var(--text-secondary);margin-bottom:1.25rem;font-style:italic}hr{border:none;border-top:1px solid var(--border);margin:2rem 0}img{max-width:100%;height:auto;border-radius:var(--radius)}code{font-family:var(--font-mono);font-size:.85em;background:var(--code-bg);padding:.15em .35em;border-radius:var(--radius)}pre{font-family:var(--font-mono);font-size:.85rem;line-height:1.5;padding:1rem;border-radius:var(--radius);overflow-x:auto;margin-bottom:1.25rem}pre code{background:none;padding:0}.astro-code,.astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.site-header{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.site-header a{color:var(--text);font-weight:600}.site-header nav{display:flex;align-items:center;gap:1.25rem}.site-header nav a{color:var(--text-secondary);font-size:.9rem;font-weight:400}.site-header nav a:hover{color:var(--text);text-decoration:none}.site-footer{max-width:var(--max-width);margin:0 auto;padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.85rem;border-top:1px solid var(--border)}.site-footer a{color:var(--text-secondary)}.theme-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.35rem .5rem;color:var(--text-secondary);font-size:.9rem;line-height:1;transition:color .2s ease,border-color .2s ease}.theme-toggle:hover{color:var(--text);border-color:var(--text-secondary)}.post-list{list-style:none;padding:0}.post-card{margin-bottom:2rem}.post-card h2{margin-top:0;margin-bottom:.25rem;font-size:1.25rem}.post-card h2 a{color:var(--text)}.post-card h2 a:hover{color:var(--link);text-decoration:none}.post-card .post-meta{color:var(--text-secondary);font-size:.85rem;margin-bottom:.35rem}.post-card .post-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:.5rem}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.tag-list a{display:inline-block;background:var(--tag-bg);color:var(--tag-text);padding:.15rem .6rem;border-radius:999px;font-size:.8rem;text-decoration:none}.tag-list a:hover{color:var(--link);text-decoration:none}.post-header{margin-bottom:2rem}.post-header h1{margin-top:0;margin-bottom:.5rem}.post-header .post-meta{color:var(--text-secondary);font-size:.9rem}.post-content>:first-child{margin-top:0}.not-found{text-align:center;padding:4rem 0}.tags-overview{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.tags-overview a{display:inline-block;background:var(--tag-bg);color:var(--tag-text);padding:.35rem .85rem;border-radius:999px;font-size:.9rem}.tags-overview a:hover{color:var(--link)}
