*{margin:0;padding:0;box-sizing:border-box}:root{--font-sans: "JetBrains Mono", "Fira Code", "Source Code Pro", "IBM Plex Mono", Consolas, Monaco, monospace;--font-mono: "JetBrains Mono", "Fira Code", Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--text-color: #2a2a2a;--link-color: #0066cc;--border-color: #e0e0e0;--bg-color: #fff;--code-bg: #f5f5f5}body{font-family:var(--font-sans);font-size:15px;line-height:1.7;color:var(--text-color);background:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:680px;margin:0 auto;padding:2rem 1.5rem}header{margin-bottom:3rem}header h1{font-size:2.2rem;font-weight:300;margin-bottom:0.5rem}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;margin-top:0;margin-bottom:1rem}h2{font-size:1.3rem;margin-top:2.5rem;margin-bottom:1rem;font-weight:400;text-transform:uppercase;letter-spacing:0.02em}h3{font-size:1.1rem}a{color:#0066cc;text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.2s ease;-webkit-text-decoration-skip:objects;-webkit-tap-highlight-color:transparent}a:hover{border-bottom-color:#0066cc}a:visited{color:#0066cc}a:active{color:#0052a3}section{margin-bottom:3rem}section#about,section#work,section#patents,section#links{margin-bottom:2.5rem}ul,ol{margin-bottom:1rem;padding-left:0;list-style-position:inside}li{margin-bottom:0.5rem}.social-links{list-style:none;padding:0}.social-links li{display:inline-block;margin-right:1.5rem;margin-bottom:0.5rem}.post-list{list-style:none;padding:0}.post-list li{margin-bottom:1rem}.post-list li .post-date{color:#666;font-size:0.875rem;display:inline-block;min-width:5.5rem;margin-right:1rem}p{margin-bottom:1rem}code{font-family:var(--font-mono);font-size:0.875em;padding:0.2em 0.4em;background:var(--code-bg);border-radius:3px}pre{font-family:var(--font-mono);font-size:0.875rem;line-height:1.5;overflow-x:auto;padding:1rem;background:var(--code-bg);border-radius:5px;margin-bottom:1rem}pre code{padding:0;background:none}blockquote{border-left:3px solid var(--border-color);padding-left:1rem;margin:1rem 0;font-style:italic;color:#666}img{max-width:100%;height:auto;display:block;margin:1rem 0}table{width:100%;border-collapse:collapse;margin-bottom:1rem}table th,table td{padding:0.5rem;text-align:left;border-bottom:1px solid var(--border-color)}table th{font-weight:600}footer,#footer{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color);font-size:0.875rem;color:#666;text-align:center}footer .footer-container,#footer .footer-container{padding:1rem}.blogpost{max-width:680px;margin:0 auto;padding:2rem 1.5rem}.blogpost h1{margin-bottom:0.5rem}.blogpost .meta{color:#666;font-size:0.875rem;margin-bottom:2rem}.blog-nav{margin-bottom:2rem}.blog-nav .nav-home{color:#666;text-decoration:none;font-size:0.9rem}.blog-nav .nav-home:hover{color:var(--link-color)}.blog-header{margin-bottom:3rem;text-align:center;border-bottom:1px solid var(--border-color);padding-bottom:2rem}.blog-header h1{font-size:2.5rem;font-weight:300;margin-bottom:1rem;color:var(--text-color)}.blog-header .blog-description{color:#666;font-size:1.1rem;max-width:600px;margin:0 auto;line-height:1.6}.posts-list .post-item{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.posts-list .post-item:last-child{border-bottom:none}.posts-list .post-date{color:#666;font-size:0.875rem;margin-bottom:0.5rem;display:block;text-transform:uppercase;letter-spacing:0.05em}.posts-list .post-title{margin:0 0 0.75rem 0}.posts-list .post-title a{color:var(--text-color);border-bottom:none;font-size:1.25rem;font-weight:500}.posts-list .post-title a:hover{color:var(--link-color)}.posts-list .post-excerpt{color:#666;margin-bottom:1rem;line-height:1.6}.posts-list .post-category{background:var(--code-bg);padding:0.25rem 0.75rem;font-size:0.75rem;border-radius:4px;color:#666;text-transform:uppercase;letter-spacing:0.05em;font-weight:500}.post-header{margin-bottom:3rem;border-bottom:1px solid var(--border-color);padding-bottom:2rem}.post-header .post-nav{margin-bottom:1.5rem}.post-header .post-nav a{color:#666;text-decoration:none;font-size:0.9rem;margin-right:1rem}.post-header .post-nav a:hover{color:var(--link-color)}.post-header .post-meta{margin-bottom:1rem;display:flex;align-items:center;gap:1rem}.post-header .post-meta .post-date{color:#666;font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em}.post-header .post-meta .post-category{background:var(--code-bg);padding:0.25rem 0.75rem;font-size:0.75rem;border-radius:4px;color:#666;text-transform:uppercase;letter-spacing:0.05em;font-weight:500}.post-header .post-title{font-size:2.5rem;font-weight:300;line-height:1.2;margin:0;color:var(--text-color)}.post-content .promo-notice{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:1rem;margin:2rem 0}.post-content .promo-notice small{color:#666;line-height:1.5}.post-content .post-body{line-height:1.7;margin:2rem 0}.post-content .post-body h2,.post-content .post-body h3,.post-content .post-body h4,.post-content .post-body h5,.post-content .post-body h6{margin:2rem 0 1rem 0}.post-content .post-body p{margin-bottom:1rem}.post-content .post-body blockquote{border-left:4px solid var(--border-color);padding-left:1rem;margin:1.5rem 0;color:#666;font-style:italic}.post-content .post-body code{background:var(--code-bg);padding:0.2rem 0.4rem;border-radius:3px;font-family:var(--font-mono);font-size:0.9em}.post-content .post-body pre{background:var(--code-bg);padding:1rem;border-radius:4px;overflow-x:auto;margin:1.5rem 0}.post-content .post-body pre code{background:none;padding:0}.post-pagination{display:flex;justify-content:space-between;margin:3rem 0;padding:2rem 0;border-top:1px solid var(--border-color)}.post-pagination a{text-decoration:none;padding:1rem;border-radius:4px;border:1px solid var(--border-color);background:#fafafa;max-width:45%;transition:all 0.2s ease}.post-pagination a:hover{border-color:var(--link-color);background:#f0f8ff}.post-pagination a .nav-label{display:block;font-size:0.8rem;color:#666;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.25rem}.post-pagination a .nav-title{display:block;color:var(--text-color);font-weight:500}.post-pagination .next-post{text-align:right;margin-left:auto}.post-comments{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.page-header{margin-bottom:2rem}.page-header h1{margin-bottom:0.5rem}.archive-list ul{list-style:none;padding:0}.archive-list li{margin-bottom:1.5rem}.archive-list .archive-date{color:#666;font-size:0.875rem;display:block}.archive-list h3{margin:0.25rem 0;font-size:1.125rem}.archive-list .description{color:#666;font-size:0.875rem}@media (max-width: 600px){body{font-size:15px}.container{padding:2rem 1.25rem}header h1{font-size:1.75rem}h2{font-size:1.25rem}.post-list li .post-date{display:block;margin-bottom:0.25rem}.social-links li{display:block;margin-bottom:0.75rem}}@media (max-width: 400px){.container{padding:1.5rem 1rem}header h1{font-size:1.5rem}h2{font-size:1.2rem}}@supports (-webkit-touch-callout: none){body{font-family:"JetBrains Mono", -apple-system, BlinkMacSystemFont, monospace;-webkit-text-size-adjust:100%}a{color:#0066cc !important;-webkit-tap-highlight-color:rgba(0,102,204,0.2)}.container{padding:2rem 1.5rem !important;padding-left:max(1.5rem, env(safe-area-inset-left)) !important;padding-right:max(1.5rem, env(safe-area-inset-right)) !important;box-sizing:border-box !important;width:100% !important;max-width:680px !important}}@media (prefers-color-scheme: dark){:root{--text-color: #e0e0e0;--bg-color: #1a1a1a;--link-color: #66b3ff;--border-color: #333;--code-bg: #2a2a2a}.post-date,.archive-date,.description,.meta,footer{color:#999}blockquote{color:#ccc}}
