*{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll;scrollbar-gutter:stable}body{background:#fff;color:#111;font-family:Lora,Georgia,serif;font-size:16px;line-height:1.8;font-weight:400;-webkit-font-smoothing:antialiased;scrollbar-width:none;-ms-overflow-style:none}main{max-width:640px;margin:0 auto;padding:7rem 2rem 8rem}h1{font-size:1rem;font-weight:400;margin-bottom:2.5rem;color:#111}h1 a{color:#111;text-decoration:none}p{color:#333;margin-bottom:1.4rem}em{color:#888;font-style:italic}.gap{margin-top:4rem}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem}.label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#999;font-family:Georgia,serif;display:block;text-decoration:none;transition:color .15s}.label:hover{color:#555}.see-all{font-size:.72rem;color:#888;text-decoration:none;border-bottom:1px solid #ddd;transition:color .15s,border-color .15s;font-family:Georgia,serif;letter-spacing:.06em}.see-all:hover{color:#555;border-bottom-color:#999}.entry{margin-bottom:1.75rem}.entry-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.entry-title{color:#111;display:block;margin-bottom:.15rem;text-decoration:none}.entry-title:hover{color:#555}.entry-role{color:#555;font-size:.82rem;font-style:italic;display:block;margin-bottom:.2rem}.entry-date{font-size:.78rem;color:#999;white-space:nowrap;font-style:italic}.entry-desc{color:#666;font-size:.88rem;line-height:1.65;display:block}.post{margin-bottom:1.4rem}.post-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.post a{color:#111;text-decoration:none;transition:color .15s}.post a:hover{color:#555}.post-date{font-size:.78rem;color:#999;white-space:nowrap;font-style:italic}.post-desc{color:#666;font-size:.88rem;line-height:1.65;margin-top:.15rem}.links{display:flex;flex-direction:column;gap:.5rem}.links a{color:#444;text-decoration:none;font-size:.9rem;width:fit-content;border-bottom:1px solid #ddd;transition:border-color .15s,color .15s}.links a:hover{color:#111;border-bottom-color:#888}.resume-link{font-size:.72rem;color:#888;text-decoration:none;border-bottom:1px solid #ddd;transition:color .15s,border-color .15s;font-family:Georgia,serif;letter-spacing:.06em;display:inline-block;margin-top:.3rem}.resume-link:hover{color:#555;border-bottom-color:#999}hr{border:none;border-top:1px solid #f2f2f2;margin:4.5rem 0 1.5rem}footer{margin-top:3rem;padding-top:1rem;border-top:1px solid #f2f2f2;font-size:.72rem;color:#999;letter-spacing:.06em;display:flex;justify-content:space-between}footer hr{margin:0 0 1rem}footer span{display:block}.detail-title{font-size:1rem;font-weight:400;color:#111;margin-bottom:.3rem}.detail-meta{font-size:.78rem;color:#888;margin-bottom:2.5rem;font-style:italic}.detail-content p{color:#333;margin-bottom:1.4rem}.detail-content img{max-width:100%;height:auto;margin:2rem 0;display:block}.detail-content h2{font-size:1rem;font-weight:400;color:#111;margin:2.5rem 0 1rem}.detail-content h3{font-size:1rem;font-weight:400;color:#111;margin:2rem 0 .8rem}.detail-content ul,.detail-content ol{margin:0 0 1.4rem 1.2rem;color:#333}.detail-content li{margin-bottom:.3rem}.detail-content a{color:#444;text-decoration:none;border-bottom:1px solid #ddd;transition:border-color .15s,color .15s}.detail-content a:hover{color:#111;border-bottom-color:#888}.detail-content blockquote{border-left:2px solid #ddd;padding-left:1.2rem;margin:1.4rem 0;color:#777;font-style:italic}.detail-content code{font-family:Georgia,serif;font-size:.9em;color:#777}.detail-content pre{background:#fafafa;padding:1.2rem;overflow-x:auto;margin:1.4rem 0;font-size:.88rem;line-height:1.65}.detail-content pre code{color:#555}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem}.back-link{font-size:.8rem;color:#888;text-decoration:none;border-bottom:1px solid #ddd;transition:color .15s,border-color .15s;font-family:Georgia,serif;letter-spacing:.06em;text-transform:none!important}.back-link:hover{color:#555;border-bottom-color:#999}.cover-thumb{max-width:100%;height:auto;margin-bottom:.8rem;display:block}.cover-detail{max-width:100%;height:auto;margin-bottom:2rem;display:block}.search-wrap{margin-bottom:2rem}.search-input{width:100%;border:none;border-bottom:1px solid #f2f2f2;background:transparent;font-family:Lora,Georgia,serif;font-size:.88rem;color:#111;padding:.45rem 0;outline:none;transition:border-color .15s}.search-input::placeholder{color:#999;font-style:italic}.search-input:focus{border-bottom-color:#ddd}.no-results{color:#999;font-style:italic;font-size:.88rem}
