*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f0f0f0;color:#1a1a1a;line-height:1.6;min-height:100vh}a{color:#0070f3}a:hover{text-decoration:underline}.page{max-width:800px;margin:0 auto;background:#fff;box-shadow:0 0 10px #0000001a;min-height:100vh;padding:2rem}.nav{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid #ececec}.nav__site{font-weight:600;color:#1a1a1a;text-decoration:none}.nav__links{display:flex;gap:1.5rem}.nav__links a{color:#666;text-decoration:none;font-size:.9rem}.nav__links a:hover{color:#1a1a1a;text-decoration:none}.home{text-align:center;padding:4rem 0 2rem}.home img{max-width:200px;height:auto;border-radius:50%;margin:1rem 0;display:block;margin-left:auto;margin-right:auto}.home h1{font-size:2rem;margin-bottom:.5rem}.home .title{color:#555;margin-bottom:1.75rem}.bio{margin:1.75rem auto 0;max-width:600px;text-align:justify;color:#444;line-height:1.6;border-top:1px solid #ececec;padding-top:1rem}.experience{margin:1.75rem auto 0;max-width:600px;text-align:justify;border-top:1px solid #ececec;padding-top:1rem}.experience h2{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:.75rem;text-align:left}.experience-list{list-style:none}.experience-list li{color:#444;line-height:1.6;margin-bottom:1rem}.experience-list li:last-child{margin-bottom:0}.social-links{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.social-links a{color:#555;text-decoration:none;font-size:.95rem}.social-links a:hover{color:#1a1a1a;text-decoration:none}.blog-header{margin-bottom:2rem}.blog-header h1{font-size:1.75rem;font-weight:700}.post-list{list-style:none}.post-item{padding:1.5rem 0;border-bottom:1px solid #f0f0f0}.post-item:last-child{border-bottom:none}.post-item__title{font-size:1.2rem;font-weight:600;margin-bottom:.2rem}.post-item__title a{color:#1a1a1a;text-decoration:none}.post-item__title a:hover{color:#0070f3;text-decoration:none}.post-item__meta{font-size:.8rem;color:#999;margin-bottom:.5rem}.post-item__desc{color:#555;font-size:.95rem;margin-bottom:.6rem;line-height:1.5}.tags{display:flex;gap:.4rem;flex-wrap:wrap}.tag{display:inline-block;padding:.2em .65em;background:#f0f0f0;border-radius:4px;font-size:.75rem;color:#555;text-decoration:none;font-weight:500}.tag:hover{background:#e2e2e2;color:#1a1a1a;text-decoration:none}.tag--active{background:#1a1a1a;color:#fff}.tag--active:hover{background:#333;color:#fff}.tag--draft{background:#fff3cd;color:#856404}.back-link{display:inline-block;color:#666;text-decoration:none;font-size:.9rem;margin-bottom:1.75rem}.back-link:hover{color:#1a1a1a;text-decoration:none}.post-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid #ececec}.post-header h1{font-size:2rem;font-weight:700;line-height:1.25;margin:.5rem 0 .75rem}.post-header__meta{font-size:.85rem;color:#999;margin-bottom:.75rem}.prose{font-size:1.05rem;line-height:1.8;color:#2a2a2a}.prose h2,.prose h3,.prose h4{margin-top:2.5rem;margin-bottom:.75rem;line-height:1.3;color:#1a1a1a}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1rem}.prose p{margin-bottom:1.25rem}.prose a{color:#0070f3}.prose :not(pre)>code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.875em;background:#f0f0f0;padding:.15em .45em;border-radius:3px}.prose pre{margin:1.75rem 0;border-radius:8px;overflow-x:auto;padding:1.25rem;font-size:.875rem;line-height:1.65}.prose pre code{background:none;padding:0;font-size:inherit}.prose blockquote{border-left:3px solid #ddd;padding-left:1.25rem;color:#666;font-style:italic;margin:1.5rem 0}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1.25rem}.prose li{margin-bottom:.4rem}.prose img{max-width:100%;height:auto;border-radius:4px;margin:1.5rem 0}.prose hr{border:none;border-top:1px solid #ececec;margin:2.5rem 0}.tag-page-header{margin-bottom:2rem}.tag-page-header h1{font-size:1.5rem;font-weight:700;margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tag-page-header p{color:#888;font-size:.9rem}
