:root{--bg-color:#ffffff;--text-color:#1a1a1a;--text-muted:#666666;--link-color:#0066cc;--link-hover:#0052a3;--border-color:#e5e5e5;--code-bg:#f5f5f5}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--bg-color);min-height:100vh;display:flex;flex-direction:column}.site-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.site-nav{max-width:800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.site-title{font-weight:600;text-decoration:none;color:var(--text-color)}.nav-links{display:flex;gap:1.5rem}.nav-links a{text-decoration:none;color:var(--text-muted);transition:color .2s}.nav-links a:hover{color:var(--link-color)}.lang-switcher{position:relative}.lang-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-color);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 16px)calc(50% - 2px),calc(100% - 11px)calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);font-size:.875rem;padding:.375rem 2rem .375rem .625rem;cursor:pointer;line-height:1.2}.lang-select:hover{border-color:var(--link-color)}.lang-select:focus{outline:none;border-color:var(--link-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--link-color) 20%,transparent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}main{flex:1;max-width:800px;width:100%;margin:0 auto;padding:3rem 2rem}.site-footer{padding:2rem;text-align:center;border-top:1px solid var(--border-color);color:var(--text-muted)}.social-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}.social-links a{color:var(--text-muted);transition:color .2s;display:flex;align-items:center}.social-links a:hover{color:var(--link-color)}.social-links svg{width:20px;height:20px}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover)}.homepage{text-align:center;max-width:600px;margin:4rem auto}.homepage blockquote{font-size:1.25rem;font-style:italic;color:var(--text-muted);margin-bottom:2rem}.homepage .quote-author{color:var(--text-muted);font-size:.875rem}.homepage .home-nav{margin-top:2rem}.post-list,.article-list,.list-page{list-style:none}.post-item,.article-item{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.post-item:last-child,.article-item:last-child{border-bottom:none}.post-title,.article-title{font-size:1.5rem;margin-bottom:.5rem}.post-title a,.article-title a{color:var(--text-color)}.post-title a:hover,.article-title a:hover{color:var(--link-color)}.post-meta,.article-meta{color:var(--text-muted);font-size:.875rem;margin-bottom:.5rem}.post-excerpt,.article-excerpt{color:var(--text-muted)}.post-content,.article-content{margin-top:2rem}.post-content h2,.article-content h2{margin-top:2rem}.post-content pre,.article-content pre{background:var(--code-bg);padding:1rem;border-radius:4px;overflow-x:auto;margin-bottom:1rem}.post-content code,.article-content code{font-family:sf mono,Monaco,cascadia code,monospace;font-size:.875rem}.article-item{margin-bottom:2.5rem;padding-bottom:2.5rem}.article-title{font-size:1.75rem;margin-bottom:.75rem}.article-content h2{margin-top:2.5rem}.article-content h3{margin-top:2rem}.post-footer,.article-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.back-link{color:var(--text-muted);text-decoration:none}.back-link:hover{color:var(--link-color)}@media(max-width:600px){.site-nav{flex-direction:column;align-items:flex-start}.nav-links{flex-wrap:wrap}main{padding:2rem 1.5rem}h1{font-size:2rem}h2{font-size:1.75rem}}