*{margin:0;padding:0;box-sizing:border-box}*::selection{background:rgba(255,155,88,.3);color:#1c3c3c}body{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,sans-serif;line-height:1.6;color:#1f2937;background:#fff}body a{color:#ff9b58;text-decoration:none;transition:color .2s}body a:hover{color:#ff7c25}.layout{display:flex;min-height:100vh}.sidebar{width:325px;height:100vh;position:fixed;left:0;top:0;background:#1c3c3c;padding:1.5rem 2rem 1rem;display:flex;flex-direction:column;color:#fff}.sidebar .avatar-link,.sidebar .title-link{text-decoration:none;color:inherit;display:block}.sidebar .avatar-link:hover,.sidebar .title-link:hover{opacity:.8}.sidebar-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.sidebar-header{text-align:center;margin-bottom:1rem}.sidebar-header .avatar{width:150px;height:150px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:3px solid #ff9b58}.sidebar-header .avatar img{width:100%;height:100%;object-fit:cover}.sidebar-header .site-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:#fff}.sidebar-header .tagline{color:rgba(255,255,255,.7);font-size:.95rem}.main-nav{margin-top:1rem}.main-nav .nav-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;color:rgba(255,255,255,.8);text-decoration:none;transition:all .2s ease;border-radius:8px;font-weight:600}.main-nav .nav-item:hover{color:#ff9b58;background:rgba(255,155,88,.1);transform:translateX(4px)}.main-nav .nav-item.active{color:#ff9b58;background:rgba(255,155,88,.15)}.main-nav .nav-item .nav-icon{width:20px;height:20px;fill:currentColor;flex-shrink:0}.main-nav .nav-item span{font-size:1.05rem}.social-links{padding:1rem 0 .5rem;margin-top:auto;display:flex;justify-content:center;gap:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.social-links a{color:rgba(255,255,255,.8);transition:color .2s ease;display:flex;align-items:center}.social-links a:hover{color:#ff9b58}.social-links .icon{width:20px;height:20px;fill:currentColor}.main-content{margin-left:325px;min-height:100vh;display:flex;flex-direction:column;padding:0 5rem}.main-content .breadcrumbs{padding:.5rem;margin:.3rem -3.5rem;display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem;background:#fff;width:calc(100% + 10rem);font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen-Sans,Ubuntu,Cantarell,helvetica neue,sans-serif}.main-content .breadcrumbs a{color:#6b7280;text-decoration:none;transition:color .2s}.main-content .breadcrumbs a:hover{color:#374151}.main-content .breadcrumbs .separator{color:#6b7280;font-size:.8rem}.main-content .content{padding:1.5rem 0;max-width:800px;margin:0 auto;width:100%;flex-grow:1}.main-content .content h1,.main-content .content h2,.main-content .content h3,.main-content .content h4,.main-content .content h5,.main-content .content h6{margin:1.5rem 0 1rem;line-height:1.3;color:#111827;font-weight:600}.main-content .content h1:first-child,.main-content .content h2:first-child,.main-content .content h3:first-child,.main-content .content h4:first-child,.main-content .content h5:first-child,.main-content .content h6:first-child{margin-top:0}.main-content .content h1{font-size:2rem;margin-bottom:.5rem}.main-content .content h2{font-size:1.75rem}.main-content .content h3{font-size:1.5rem}.main-content .content h4{font-size:1.25rem}.main-content .content h5{font-size:1.1rem}.main-content .content h6{font-size:1rem}.main-content .content p{margin-bottom:.75rem;line-height:1.75}.main-content .content .post-content ul,.main-content .content post-content ol{margin:.5rem 0;padding-left:2rem}.main-content .content .post-content ul li,.main-content .content post-content ol li{margin-bottom:.5rem}.main-content .content .post-content ul li:has(>input[type=checkbox]),.main-content .content post-content ol li:has(>input[type=checkbox]){list-style-type:none}.main-content .content .post-content ul li:has(>input[type=checkbox])>input[type=checkbox],.main-content .content post-content ol li:has(>input[type=checkbox])>input[type=checkbox]{margin-right:.5em}.main-content .content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid #ff9b58;background:#f9fafb;color:#4b5563;font-style:italic}.main-content .content blockquote p:last-child{margin-bottom:0}.main-content .content code{background:#f3f4f6;padding:.2em .4em;border-radius:4px;font-size:.9em;color:#dc2626}.main-content .content pre{margin:1.5rem 0;padding:1rem;background:#1f2937;color:#f9fafb;border-radius:8px;overflow-x:auto}.main-content .content pre code{background:0 0;color:inherit;padding:0;font-size:.9em}.main-content .content img{max-width:600px;width:100%;height:auto;display:block;margin:2rem auto;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1)}.main-content .content hr{margin:2rem 0;border:none;border-top:1px solid #e5e7eb}.main-content .content table{width:100%;margin:1.5rem 0;border-collapse:collapse}.main-content .content table th,.main-content .content table td{padding:.75rem;border:1px solid #e5e7eb;text-align:left}.main-content .content table th{background:#f9fafb;font-weight:600}.main-content .content table tr:nth-child(even){background:#f9fafb}.main-content .tools-grid,.main-content .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;padding:1rem 0;align-items:start}@media(min-width:1024px){.main-content .tools-grid,.main-content .projects-grid{grid-template-columns:repeat(4,1fr);align-items:start}}.main-content .tool-card,.main-content .project-card{background:#ff9b58;border-radius:8px;padding:1rem;color:#1c3c3c;text-decoration:none;transition:all .2s ease;border:2px solid transparent;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.main-content .tool-card:hover,.main-content .project-card:hover{background:#ffa670;border-color:#1c3c3c;transform:scale(1.02)}.main-content .tool-card h2,.main-content .project-card h2{margin:0 0 .8rem;font-size:1.3rem;font-weight:600;color:#1c3c3c}.main-content .tool-card p,.main-content .project-card p{margin:0;font-size:.8rem;line-height:1.3;color:rgba(28,60,60,.85)}article.post .post-meta{margin-bottom:2rem;display:flex;flex-direction:column;gap:.5rem}article.post .post-meta .post-dates{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.9rem;font-style:italic}article.post .post-meta .post-dates .date-separator{font-style:normal}article.post .post-meta .post-tags{margin-top:0}article.post .post-meta .post-tags .tag{display:inline-block;background-color:#f0f0f0;color:#555;padding:.2em .7em;margin-right:.5em;margin-bottom:.4em;border-radius:1em;font-size:.8rem;line-height:1.4;text-decoration:none;white-space:nowrap;transition:all .2s ease}article.post .post-meta .post-tags .tag:hover{background-color:#e2e1e1;color:#1c3c3c}body.no-scroll{overflow:hidden}.post-list .post-item{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.post-list .post-item:last-child{border-bottom:none}.post-list .post-item .post-title{font-size:1.5rem;margin-bottom:.5rem;color:#111827;font-weight:600;text-decoration:none}.post-list .post-item .post-title:hover{color:#ff9b58}.post-list .post-item .post-meta{margin-bottom:2rem;display:flex;flex-direction:column;gap:.5rem}.post-list .post-item .post-meta .post-dates{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.9rem;font-style:italic}.post-list .post-item .post-meta .post-dates .date-separator{font-style:normal}.post-list .post-item .post-meta .post-tags{margin-top:.5rem}.post-list .post-item .post-meta .post-tags .tag{display:inline-block;background-color:#f0f0f0;color:#555;padding:.2em .7em;margin-right:.5em;margin-bottom:.4em;border-radius:1em;font-size:.8rem;line-height:1.4;text-decoration:none;white-space:nowrap;transition:all .2s ease}.post-list .post-item .post-meta .post-tags .tag:hover{background-color:#e2e1e1;color:#1c3c3c}.post-list .post-item .post-summary{color:#4b5563;line-height:1.75}.post-list .post-item .read-more{display:inline-block;margin-top:1rem;color:#ff9b58;text-decoration:none;font-weight:500}.post-list .post-item .read-more:hover{color:#ff7c25}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #e5e7eb}.pagination a{color:#ff9b58;text-decoration:none;transition:color .2s}.pagination a:hover{color:#ff7c25}.pagination .page-number{color:#6b7280;font-size:.95rem}.toc-container{background-color:#d7e6ec;padding:1em .5em;border-radius:8px;border:1px solid #a3c6d3;display:block;width:45%;margin-left:auto;margin-right:auto;margin-bottom:2.5em;box-shadow:0 5px 15px rgba(31,41,55,.15)}.toc-container .toc-title{margin-top:0;margin-bottom:1em;font-size:1.1em;font-weight:600;color:#508ea7;text-align:center}.toc-container ul{list-style-type:none;padding-left:1.5rem;margin:0}.toc-container ul ul{padding-left:1.5em}.toc-container li{margin:0;margin-bottom:.6em;padding:0;text-align:left}.toc-container a{text-decoration:none;color:#3f7185;font-weight:500}.toc-container a:hover{text-decoration:underline;color:#ff9b58}.footer{margin-top:auto;padding:1.5rem 5rem;text-align:center;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;background:#fff}.blog-list{padding-left:1.5rem;margin:2rem 0;list-style-type:none}.blog-list li{margin-bottom:1rem}.blog-list li:last-child{margin-bottom:0}.blog-list .blog-title{margin-bottom:.35rem;display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem}.blog-list a{font-size:1.3rem;font-weight:600;color:#1f2937;text-decoration:none;transition:all .1s ease}.blog-list a:hover{color:#ff7c25;text-decoration:underline}.blog-list .blog-tags{margin-top:.5rem}.blog-list .blog-tags .tag{display:inline-block;background-color:#f0f0f0;color:#555;padding:.2em .7em;margin-right:.5em;margin-bottom:.4em;border-radius:1em;font-size:.8rem;line-height:1.4;text-decoration:none;white-space:nowrap;transition:all .2s ease}.blog-list .blog-tags .tag:hover{background-color:#e2e1e1;color:#1c3c3c}.blog-list .blog-date{color:#666;font-size:.6em;white-space:nowrap;font-weight:400}.blog-list a{text-decoration:none;color:#1f2937;transition:all .2s ease}.blog-list a:hover{color:#ff9b58}.tag-page{max-width:800px;margin:0 auto;padding:2rem 0}.tag-page .tag-header{text-align:left;margin-bottom:3rem}.tag-page .tag-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:#1f2937}.tag-page .tag-header .tag-count{color:#666;font-size:1.1rem}.tag-page .tagged-posts{list-style:none;padding:0;margin:0}.tag-page .tagged-posts li{display:flex;align-items:baseline;flex-wrap:wrap;gap:1rem;padding:1rem 0;border-bottom:1px solid #eee;text-align:left}.tag-page .tagged-posts li:last-child{border-bottom:none}.tag-page .tagged-posts li time{color:#666;font-size:.9rem;font-family:monospace;white-space:nowrap}.tag-page .tagged-posts li a{flex:1;font-size:1.1rem;color:#1f2937;text-decoration:none}.tag-page .tagged-posts li a:hover{color:#ff9b58}.tag-page .tagged-posts li .post-tags{width:100%;margin-top:.5rem;margin-left:7rem}.tag-page .tag-footer{margin-top:3rem;text-align:left}.tag-page .tag-footer .back-to-tags{display:inline-block;padding:.5rem 1rem;color:#666;text-decoration:none;transition:all .2s ease}.tag-page .tag-footer .back-to-tags:hover{color:#ff9b58;transform:translateX(-3px)}.tag-cloud-page{max-width:800px;margin:0 auto;padding:2rem 0}.tag-cloud-page .tag-cloud-header{text-align:left;margin-bottom:3rem}.tag-cloud-page .tag-cloud-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:#1f2937}.tag-cloud-page .tag-cloud-header .tag-cloud-description{color:#666;font-size:1.1rem}.tag-cloud-page .tag-cloud{display:flex;flex-wrap:wrap;gap:1rem;justify-content:left;padding:1rem}.tag-cloud-page .tag-cloud .tag-cloud-item{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f0f0f0;border-radius:2rem;text-decoration:none;color:#1f2937;font-size:1rem;transition:all .2s ease}.tag-cloud-page .tag-cloud .tag-cloud-item .tag-name{color:#1f2937}.tag-cloud-page .tag-cloud .tag-cloud-item .tag-count{background:#fff;color:#666;font-size:.8rem;padding:.2rem .6rem;border-radius:1rem;min-width:1.5rem;text-align:center}.tag-cloud-page .tag-cloud .tag-cloud-item:hover{background:#ff9b58;transform:translateY(-2px)}.tag-cloud-page .tag-cloud .tag-cloud-item:hover .tag-name{color:#fff}.tag-cloud-page .tag-cloud .tag-cloud-item:hover .tag-count{background:rgba(255,255,255,.9);color:#1f2937}.tag-cloud-page .tag-cloud .tag-cloud-item[data-count="1"]{font-size:.9rem}.tag-cloud-page .tag-cloud .tag-cloud-item[data-count="2"]{font-size:1rem}.tag-cloud-page .tag-cloud .tag-cloud-item[data-count="3"]{font-size:1.1rem}.tag-cloud-page .tag-cloud .tag-cloud-item[data-count="4"]{font-size:1.2rem}.tag-cloud-page .tag-cloud .tag-cloud-item[data-count="5"]{font-size:1.3rem}.tag-cloud-page .tag-cloud .tag-cloud-item[data-count="6"]{font-size:1.4rem}.hamburger-button{display:none;position:fixed;top:1rem;left:1rem;z-index:1100;background:#1c3c3c;border:none;padding:.5rem;cursor:pointer;border-radius:4px}.hamburger-button span{display:block;width:25px;height:3px;background-color:#fff;margin:5px 0;transition:all .3s ease-in-out}.hamburger-button.active span:nth-child(1){transform:translateY(8px)rotate(45deg)}.hamburger-button.active span:nth-child(2){opacity:0}.hamburger-button.active span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}@media(max-width:1099.98px){.sidebar{width:100%;transform:translateX(-100%);transition:transform .3s ease-in-out;z-index:1050;position:fixed;height:100vh;left:0;top:0}.sidebar.sidebar-visible{transform:translateX(0)}.main-content{margin-left:0;padding:5rem 1.5rem 1.5rem}.hamburger-button{display:block}.breadcrumbs{margin:0 -1.5rem;width:calc(100% + 3rem);padding:.5rem 1.5rem}}