body{font-family:Courier Prime,monospace;line-height:1.6;max-width:1200px;margin:0 auto;padding:2rem 1rem;color:#2d3748;text-align:justify;hyphens:auto;word-break:break-word;background:#fff}.content-wrapper{display:flex;gap:3rem}.main-content{flex:3;max-width:868px;width:868px}.sidebar{flex:1;min-width:280px;margin-top:0}@media (max-width: 768px){body{flex-direction:column;gap:2rem}.sidebar{min-width:auto}}nav{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}.about{margin-bottom:2rem}.about h3{text-align:center}.about p{text-align:justify;max-width:250px;margin:0 auto;text-indent:1rem}.tag-cloud h4{text-align:center}.about .profile-pic{display:block;margin:0 auto 1rem}.profile-pic{width:120px;height:120px;margin:0 auto 1rem;border-radius:8px;filter:grayscale(100%);transition:filter .3s ease;cursor:pointer}.profile-pic:hover,.sidebar:hover .profile-pic{filter:grayscale(0%)}.blog-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;text-decoration:none;color:inherit}.blog-header:hover{opacity:.8}.blog-header h1:before{content:"> ";color:#38a169;font-weight:400}.blog-logo{width:80px;height:80px;border-radius:50%;flex-shrink:0;filter:grayscale(100%);transition:filter .3s ease}.blog-logo:hover{filter:grayscale(0%)}.calendar{margin-top:1rem;padding:1rem;background:#fdfdfd;border-radius:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:.5rem}.calendar-day{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:.8rem;border-radius:50%;transition:all .2s ease}.calendar-day.has-post{cursor:pointer}.calendar-day:not(:empty):not(.text-gray-400):hover{background:#e2e8f0;cursor:pointer}.calendar-day.text-gray-400:hover{background:transparent!important;cursor:default!important}.calendar-day.has-post:hover,.calendar-day.today{background:#38a169;color:#fff}.calendar-day.has-post:not(.text-gray-400){border:2px solid #38a169;font-weight:700}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.calendar-nav{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.2rem .5rem;border-radius:3px}.calendar-nav:hover{background:#eee}.year-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem;font-size:.8rem}.year-nav{background:none;border:none;font-size:1rem;cursor:pointer;padding:.2rem .3rem;border-radius:3px}.year-nav:hover{background:#eee}.tag-cloud{margin-top:.25rem;padding:1rem;background:#fdfdfd;border-radius:6px}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tag-item{color:#666;cursor:pointer;padding:.2rem .4rem;border-radius:3px;transition:all .2s;text-decoration:none}.tag-item:hover{background:#38a169;color:#fff}.admonition{margin:1.5rem 0;padding:1rem;border-radius:6px;border-left:4px solid}.admonition-header{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:.5rem}.admonition-icon{font-size:1.1rem}.admonition.info{background:#f0f9ff;border-left-color:#0ea5e9;color:#0c4a6e}.admonition.warning{background:#fffbeb;border-left-color:#f59e0b;color:#92400e}.admonition.danger{background:#fef2f2;border-left-color:#ef4444;color:#991b1b}.admonition.quote{background:#f8fafc;border-left-color:#64748b;color:#334155}.admonition.idea{background:#f0fdf4;border-left-color:#22c55e;color:#166534}.code-block{margin:1.5rem 0;border-radius:6px;overflow:hidden;background:#1e1e1e}.code-header{background:#2d2d2d;padding:.5rem 1rem;border-bottom:1px solid #404040}.code-language{color:#9ca3af;font-size:.8rem;font-weight:500;text-transform:uppercase}pre{padding:1rem;margin:1.5rem 0;overflow-x:auto;border-radius:6px;position:relative}code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}pre code{background:none!important;padding:0}pre[style*=--shiki-light][style*=bash]:before,pre:has(code:contains("go version")):before,pre:has(code:contains("brew install")):before,pre:has(code:contains("sudo")):before{content:"Bash";position:absolute;top:.5rem;left:1rem;font-size:.7rem;color:#9ca3af;text-transform:uppercase;font-weight:500;z-index:1;background:#2d2d2dcc;padding:2px 6px;border-radius:3px}pre:has(code:contains("return {")):before,pre:has(code:contains("lua")):before{content:"Lua";position:absolute;top:.5rem;left:1rem;font-size:.7rem;color:#9ca3af;text-transform:uppercase;font-weight:500;z-index:1;background:#2d2d2dcc;padding:2px 6px;border-radius:3px}p code,li code{background:#f1f5f9;padding:.2rem .4rem;border-radius:3px;font-size:.85rem;color:#e11d48}.image-figure{margin:2rem 0;text-align:center}.image-figure img{width:80%;height:auto;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.image-figure figcaption{margin-top:.5rem;font-size:.9rem;color:#666;font-style:italic;max-width:80%;margin-left:auto;margin-right:auto}img+em{display:block;margin-top:.5rem;font-size:.9rem;color:#666;font-style:italic;text-align:center;max-width:80%;margin-left:auto;margin-right:auto}article img,.blog-content img{width:80%;height:auto;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:block;margin:2rem auto}.social-links{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.social-links a{color:#666;text-decoration:none;font-size:1.2rem}.social-links a:hover{color:#38a169}.buy-me-coffee{display:flex;justify-content:center;margin:1.5rem 0}.coffee-button{display:inline-block;background:#38a169;color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .2s ease;border:2px solid #38a169}.coffee-button:hover{background:#2f855a;border-color:#2f855a;transform:translateY(-1px);box-shadow:0 4px 8px #38a1694d}nav a{color:#666;text-decoration:none}nav a:hover{color:#000}h1,h2,h3,h4,h5,h6{font-family:Courier Prime,monospace;font-weight:700;line-height:1.4;color:#222}h1{font-size:2.5rem;margin-bottom:.5rem}h2{font-size:2rem;margin:1.5rem 0 1rem}h2.post-title{margin:1.5rem 0 .5rem;order:1}.blog-content>p{order:2}h3{font-size:1.5rem;margin:1.2rem 0 .8rem}.about h3:before{content:"// ";color:#38a169;font-weight:400}.calendar h4:before{content:"> ";color:#38a169;font-weight:400}.tag-cloud h4:before{content:"/* ";color:#38a169;font-weight:400}.tag-cloud h4:after{content:" */";color:#38a169;font-weight:400}h4{font-size:1.2rem;margin:1rem 0 .5rem}main ul{list-style:none;padding:0;margin-top:2rem}article ul,.blog-content ul{list-style:disc;padding-left:2rem;margin:1rem 0}article ol,.blog-content ol{list-style:decimal;padding-left:2rem;margin:1rem 0}.post-tags{order:3}.post-tags .tag{margin-right:.75rem!important;margin-bottom:.5rem!important;margin-top:0!important;margin-left:0!important}.reading-time{color:#666;margin-left:1rem;font-size:.9rem}article ul ul,.blog-content ul ul{list-style:circle;margin:.5rem 0}article ul ul ul,.blog-content ul ul ul{list-style:square}article ol ol,.blog-content ol ol{list-style:lower-alpha;margin:.5rem 0}article ol ol ol,.blog-content ol ol ol{list-style:lower-roman}article li,.blog-content li{margin:.3rem 0;line-height:1.6}main>ul>li{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}main>ul>li:last-child{border-bottom:none}main>ul>li>a{color:#2d3748;text-decoration:none;font-family:Courier Prime,monospace;font-weight:700;font-size:1.3rem;line-height:1.4;display:block;margin-bottom:.5rem;padding:.2rem .5rem;margin:-.2rem -.5rem .3rem;border-radius:3px;transition:all .2s ease}main>ul>li>a:before{content:"$ ";color:#38a169;font-weight:400}main>ul>li>a:hover{color:#1a202c;background:#e2e8f0;border-radius:3px}article a,.blog-content a{color:#38a169;text-decoration:underline}article a:hover,.blog-content a:hover{color:#2f855a}li .date{margin:.2rem 0 0;color:#666;font-size:.9rem}li .description{margin:.5rem 0;color:#555;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tags{margin:.5rem 0 .5rem .5rem}.tag{display:inline-block;background:#718096;color:#f7fafc;padding:.2rem .5rem;border-radius:3px;font-size:.75rem;margin-right:.75rem;margin-bottom:.5rem;font-family:Courier Prime,monospace;text-decoration:none;transition:all .2s ease}.tag:hover{background:#38a169;color:#fff}.tag:before{content:"#";color:#38a169}.read-more{color:#666;text-decoration:none;font-size:.9rem;display:inline-block;padding:.2rem .4rem;border-radius:3px;transition:all .2s ease}.read-more:hover{color:#1a202c;background:#e2e8f0}.post-nav{display:flex;justify-content:space-between;margin:3rem 0 2rem;gap:1rem}.nav-link{display:flex;flex-direction:column;text-decoration:none;color:#666;padding:1rem;border:1px solid #e2e8f0;border-radius:6px;transition:all .2s ease;max-width:45%}.nav-link:hover{border-color:#38a169;background:#f7fafc}.nav-link.next{text-align:right;margin-left:auto}.nav-title{font-weight:600;color:#2d3748;margin-top:.5rem;font-size:.9rem}footer{margin-top:3rem;padding-top:2rem;border-top:1px solid #e2e8f0;text-align:center;color:#666;font-size:.9rem}footer a{color:#38a169;text-decoration:none}footer a:hover{text-decoration:underline}.pagination{display:flex;justify-content:space-between;align-items:center;margin:2rem 0;padding:1rem 0;border-top:1px solid #e2e8f0}.page-link{color:#38a169;text-decoration:none;padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:6px;transition:all .2s ease}.page-link:hover{border-color:#38a169;background:#f7fafc}.page-info{color:#666;font-size:.9rem}.toc{margin-bottom:2rem}.blog-content{max-width:100%;width:100%;overflow-x:hidden}.post-header h1{text-align:left}main>ul>li>a{text-align:left}.search-container{position:relative;margin-bottom:1rem;margin-right:0}.search-input{width:400px;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-family:Courier Prime,monospace;font-size:.9rem}.search-input:focus{outline:none;border-color:#38a169}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;max-height:400px;overflow-y:auto;z-index:1000;display:none}.search-result{padding:.75rem;border-bottom:1px solid #f7fafc}.search-result:last-child{border-bottom:none}.search-result:hover{background:#f7fafc}.result-title{color:#38a169;text-decoration:none;font-weight:600;display:block;margin-bottom:.25rem}.result-title:hover{text-decoration:underline}.result-description{color:#666;font-size:.85rem;margin:.25rem 0;line-height:1.4}.result-meta{font-size:.75rem;color:#999}.no-results{padding:1rem;text-align:center;color:#666;font-style:italic}.site-header{margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #4a5568;padding-bottom:1rem;max-width:1200px;margin:0 auto;padding-left:1rem;padding-right:1rem}.site-header .blog-header{border-bottom:none;padding-bottom:0;margin-bottom:0}.header-search{width:400px;margin-right:0}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem}.header-search{width:100%}}pre{max-width:100%;overflow-x:auto;box-sizing:border-box}code{word-wrap:break-word;overflow-wrap:break-word}.mermaid{margin:2rem 0;text-align:center;background:#fdfdfd;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;overflow-x:auto;box-shadow:0 2px 4px #0000000d}.mermaid svg{max-width:100%;height:auto}.mermaid .node rect,.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon{fill:#f7fafc;stroke:#38a169;stroke-width:2px}.mermaid .node .label{color:#2d3748;font-family:Courier Prime,monospace}.mermaid .edgePath .path{stroke:#38a169;stroke-width:2px}.mermaid .edgeLabel{background-color:#fdfdfd;color:#2d3748;font-family:Courier Prime,monospace;font-size:12px}.mermaid .cluster rect{fill:#f0fdf4;stroke:#38a169;stroke-width:1px}.mermaid .cluster .label{color:#166534;font-family:Courier Prime,monospace;font-weight:600}
