*{box-sizing:border-box;margin:0;padding:0}body{color:#c4c4c4;background:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.7}.container{max-width:640px;margin:0 auto;padding:60px 20px}h1{color:#f0f0f0;margin-bottom:40px;font-size:18px;font-weight:500}h2{color:#f0f0f0;margin-bottom:16px;font-size:15px;font-weight:500}h3{color:#e0e0e0;margin-top:32px;margin-bottom:16px;font-size:16px;font-weight:600}p{color:#b4b4b4;margin-bottom:12px;font-size:14px}.header-nav{justify-content:space-between;align-items:baseline;margin-bottom:60px;display:flex}nav{gap:24px;display:flex}nav a{color:#888;font-size:14px;text-decoration:none;transition:color .2s}nav a:hover{color:#f0f0f0}a{color:#b4b4b4;text-decoration:none;transition:color .2s}a:hover{color:#f0f0f0}.project-link{text-decoration:underline}ul{list-style:none}ul li{color:#b4b4b4;margin-bottom:8px;font-size:14px}section ul li:before{content:"• ";color:#a3a3a3;margin-right:8px}.writings-list li:before,.blog-list li:before{content:"";margin:0}section{margin-bottom:50px}.intro{margin-bottom:60px}.intro p{color:#c4c4c4;font-size:15px;line-height:1.7}header{margin-bottom:60px}.nav-bar{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.nav-bar h1{margin-bottom:0}.author-home-link{color:#f0f0f0;font-size:18px;font-weight:500;text-decoration:none;transition:color .2s}.author-home-link:hover{color:#c4c4c4}.back-link,.back-home{color:#888;font-size:14px;text-decoration:none;transition:color .2s}.back-link:hover,.back-home:hover{color:#f0f0f0}.author{color:#a3a3a3;font-size:14px}.controls{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.post-count{color:#a3a3a3;font-size:14px}.sort-dropdown{position:relative}.sort-button{color:#888;cursor:pointer;background:0 0;border:1px solid #222;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .2s;display:flex}.sort-button:hover{color:#b4b4b4;border-color:#333}.sort-button.active{border-color:#333}.sort-arrow{font-size:10px;transition:transform .2s}.sort-button.active .sort-arrow{transform:rotate(180deg)}.sort-options{z-index:10;background:#0a0a0a;border:1px solid #222;border-radius:4px;min-width:120px;margin-top:4px;display:none;position:absolute;top:100%;right:0;overflow:hidden}.sort-options.show{display:block}.sort-option{color:#888;cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:8px 12px;font-size:13px;transition:all .2s}.sort-option:hover{color:#f0f0f0;background:#111}.sort-option.active{color:#f0f0f0;background:#0f0f0f}.blog-list,.writings-list{margin-bottom:50px;list-style:none}.blog-list li,.writing-item{border-bottom:1px solid #1a1a1a;margin-bottom:10px;padding:20px 0;transition:all .2s}.writing-item:last-child{border-bottom:none}.blog-list a,.writing-link{color:#b4b4b4;justify-content:space-between;align-items:center;text-decoration:none;transition:color .2s;display:flex}.writing-link{display:block}.blog-list a:hover,.writing-item:hover .writing-title{color:#f0f0f0}.blog-views,.writing-views{color:#555;font-size:13px}.writing-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.writing-title{color:#c4c4c4;flex:1;font-size:15px;transition:color .2s}.writing-date{color:#a3a3a3;flex-shrink:0;margin-left:16px;font-size:13px}.tag-note{color:#a3a3a3;background:#111;border-radius:3px;margin-left:8px;padding:2px 8px;font-size:11px;display:inline-block}.note{color:#a3a3a3;margin-left:8px;font-size:13px}.article-content{margin-bottom:80px}.article-content p{color:#b4b4b4;margin-bottom:24px;line-height:1.8}.article-content h1{color:#f0f0f0;margin-bottom:12px;font-size:24px;font-weight:600;line-height:1.3}.article-content h2{color:#f0f0f0;margin-top:48px;margin-bottom:20px;font-size:18px;font-weight:600}.article-content h3{color:#e0e0e0;margin-top:32px;margin-bottom:16px;font-size:16px;font-weight:600}.article-content strong{color:#d4d4d4;font-weight:600}.article-content em{color:#c4c4c4;font-style:italic}.article-content a{color:#f0f0f0;text-underline-offset:2px;-webkit-text-decoration:underline #444;text-decoration:underline #444;transition:all .2s}.article-content a:hover{color:#fff;-webkit-text-decoration-color:#888;text-decoration-color:#888}.article-content ul,.article-content ol{color:#b4b4b4;margin-bottom:24px;padding-left:24px}.article-content li{margin-bottom:8px}.article-content blockquote{color:#999;border-left:2px solid #333;margin:32px 0;padding-left:20px;font-style:italic}.article-content code{color:#e0e0e0;background:#111;border:1px solid #222;border-radius:3px;padding:2px 6px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px}.article-content pre{background:#0f0f0f;border:1px solid #1a1a1a;border-radius:4px;margin-bottom:24px;padding:16px;overflow-x:auto}.article-content pre code{color:#d4d4d4;background:0 0;border:none;padding:0;line-height:1.5}.article-content hr{border:none;border-top:1px solid #1a1a1a;margin:48px 0}.article-meta{color:#a3a3a3;gap:16px;font-size:13px;display:flex}footer{border-top:1px solid #1a1a1a;margin-top:100px;padding-top:40px}.social-links{gap:20px;margin-top:20px;display:flex}.social-links a{color:#a3a3a3;font-size:13px;text-decoration:none;transition:color .2s}.social-links a:hover{color:#b4b4b4}.article-footer{border-top:1px solid #1a1a1a;margin-bottom:60px;padding-top:40px}.end-note{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.end-note p{color:#a3a3a3;font-size:14px}.leave-note-link{color:#888;font-size:14px;text-decoration:none;transition:color .2s}.leave-note-link:hover{color:#f0f0f0}.nav-links{justify-content:space-between;gap:20px;margin-top:40px;display:flex}.nav-link{background:#0f0f0f;border:1px solid #1a1a1a;border-radius:4px;flex:1;padding:16px;text-decoration:none;transition:all .2s}.nav-link:hover{background:#141414;border-color:#333;transform:translateY(-1px)}.nav-link.prev{text-align:left}.nav-link.next{text-align:right}.nav-label{color:#a3a3a3;margin-bottom:4px;font-size:12px;display:block}.nav-title{color:#b4b4b4;font-size:13px}@media (max-width:600px){.container{padding:40px 20px}.blog-list a{flex-direction:column;align-items:flex-start}.blog-views{margin-top:2px;margin-left:0}.writing-header{flex-direction:column;align-items:flex-start}.writing-date{margin-top:2px;margin-left:0}.nav-links{flex-direction:column}.article-content h1{font-size:20px}.article-content pre{padding:12px;font-size:12px}}
