:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}.container{max-width:48rem;margin:0 auto;padding:0 1rem;min-height:100vh;display:flex;flex-direction:column}.main{padding-top:2rem;padding-bottom:4rem;line-height:1.75;flex:1}.hero{display:flex;align-items:center;gap:.5rem;margin-top:2rem;margin-bottom:2rem}.profile-img{width:3rem;height:3rem;border-radius:50%;background-color:#f4f4f5;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.hero-title{font-size:2.8rem;font-weight:700;line-height:1}p{margin:0;color:#3f3f46;line-height:1.75}.mt-4{margin-top:1rem}.link{color:#18181b;text-decoration:underline;transition:color .2s;margin:0 .25rem}.link:hover{color:#000}.section{margin-top:3rem}.section-title{font-size:1.75rem;font-weight:600;margin-bottom:1rem;color:#18181b}.project-list{margin-top:1rem;list-style-type:disc;list-style-position:inside;display:flex;flex-direction:column;gap:.25rem}.project-item{display:inline;color:#3f3f46}.project-name{color:#18181b;font-weight:500;text-decoration:underline}.coming-soon{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background-color:#fef3c7;color:#92400e;border-radius:.25rem;font-size:.875rem;font-weight:500}.blog-list{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.blog-empty{color:#71717a;font-size:.875rem}.footer{display:flex;justify-content:space-between;align-items:center;padding:3rem 0;border-top:1px solid #e4e4e7}.footer-text{font-size:.875rem;color:#71717a}.footer-link{font-size:.875rem;color:#18181b;text-decoration:underline;transition:color .2s}.footer-link:hover{color:#71717a}@media (min-width: 640px){.main{padding-top:3rem}.hero{gap:1rem;margin-bottom:3rem}.profile-img{width:4rem;height:4rem}.hero-title{font-size:3rem}.section-title{font-weight:700}}.blog-container{max-width:48rem;margin:0 auto;padding:2rem 1rem 4rem}.blog-header{margin-bottom:3rem}.back-link{display:inline-block;margin-bottom:1rem;color:#2d7fe3;text-decoration:underline}.back-link:hover{color:#000}.blog-title{font-size:2.25rem;font-weight:600;line-height:1.2;margin-bottom:1rem}@media (min-width: 640px){.blog-title{font-size:2.75rem;font-weight:700}}.blog-date{font-size:1.125rem;color:#85858f}.blog-content{line-height:1.75}.blog-content h2{margin-top:4rem;font-size:1.75rem;line-height:2rem;font-weight:600}@media (min-width: 640px){.blog-content h2{font-weight:700}}.blog-content h3{margin-top:2rem;font-size:1.375rem;line-height:1.75rem;font-weight:600}.blog-content p{margin-top:1rem}.blog-content ol{margin-top:1rem;list-style-position:inside;list-style-type:decimal}.blog-content ul{margin-top:1rem;list-style-position:inside;list-style-type:disc}.blog-content blockquote{margin-top:1rem;border-left:2px solid #d4d4d8;padding-left:1rem;font-size:1rem;line-height:1.5rem;color:#85858f}.blog-content a{color:#2d7fe3;text-decoration:underline}.blog-content a:hover{color:#000}.blog-content code{font-size:.875rem;background-color:#f7f7f7;padding:.125rem .25rem;border-radius:.25rem;font-family:monospace}.blog-content pre{margin-top:1rem;overflow:auto;border-radius:.5rem;background-color:#f7f7f7;padding:.75rem 1rem;line-height:1.25}.blog-content pre code{background-color:transparent;padding:0;font-size:.825rem}.blog-footer{display:flex;justify-content:space-between;padding:3rem 0;margin-top:4rem;border-top:1px solid #e4e4e7}.blog-footer-text{font-size:.875rem;color:#85858f}
