:root{--g: #3b82f6;--g-dim: rgba(59,130,246,.5);--g-faint: rgba(59,130,246,.06);--panel-bg: rgba(4,7,13,.85);--panel-border:rgba(59,130,246,.15);--amber: #e6a817}.blog-index{max-width:1100px;margin:0 auto;padding:1.5rem 2rem}.blog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.blog-cmd{font-family:var(--font-mono);font-size:.88rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.blog-cmd .prompt{color:var(--g-dim)}.blog-cmd .cmd-text{color:var(--text-strong, #e8ecf6);font-weight:600}.blog-search{display:flex;align-items:stretch;border:1px solid var(--panel-border);border-radius:5px;overflow:hidden;background:var(--panel-bg)}.search-prefix{font-family:var(--font-mono);font-size:.75rem;color:var(--g-dim);padding:.5rem .65rem;background:#3b82f60a;border-right:1px solid var(--panel-border);display:flex;align-items:center;white-space:nowrap}.blog-search .search-input{font-family:var(--font-mono);font-size:.82rem;color:var(--text-color, #e8ecf6);background:transparent;border:none;padding:.5rem .75rem;outline:none;min-width:180px;flex:1}.blog-search .search-input::placeholder{color:#3b82f633}.blog-search .search-clear{background:none;border:none;color:var(--g-dim);padding:0 .5rem;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center}.blog-search .search-btn{font-family:var(--font-mono);font-size:.75rem;background:#3b82f60d;border:none;border-left:1px solid var(--panel-border);color:var(--g-dim);padding:.5rem .75rem;cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}.blog-search .search-btn:hover{color:var(--g);background:#3b82f61a}.search-result-info{font-family:var(--font-mono);font-size:.82rem;color:var(--g-dim);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.search-result-info strong{color:var(--g)}.search-result-info .prompt{color:var(--g-dim)}.search-result-info .clear-link{color:#3b82f659;text-decoration:none;margin-left:.5rem}.search-result-info .clear-link:hover{color:var(--g)}.blog-content{display:grid;grid-template-columns:1fr 250px;gap:1.25rem;align-items:start}.post-list{display:flex;flex-direction:column}.post-item{padding:1rem 1.25rem;border:1px solid var(--panel-border);border-bottom:none;background:var(--panel-bg);transition:background .15s ease,border-color .15s ease;position:relative}.post-item:first-child{border-radius:6px 6px 0 0}.post-item:last-child{border-bottom:1px solid var(--panel-border);border-radius:0 0 6px 6px}.post-item:only-child{border-radius:6px;border-bottom:1px solid var(--panel-border)}.post-item:hover{background:#3b82f606}.post-item-header{display:flex;align-items:center;gap:.55rem;margin-bottom:.35rem}.post-dot{color:var(--g-dim);font-size:.5rem;flex-shrink:0}.post-category-badge{font-family:var(--font-mono);font-size:.66rem;font-weight:600;padding:.1rem .42rem;border-radius:3px;background:var(--g-faint);border:1px solid rgba(59,130,246,.2);color:var(--g-dim);letter-spacing:.04em;white-space:nowrap}.post-item-date{font-family:var(--font-mono);font-size:.7rem;color:#3b82f647;margin-left:auto;white-space:nowrap}.post-item-title{margin:0 0 .38rem;font-size:1rem;font-weight:600;line-height:1.4}.post-item-title a{color:var(--text-strong, #e8ecf6);text-decoration:none;transition:color .18s ease}.post-item-title a:hover{color:var(--g)}.post-item-excerpt{font-size:.82rem;color:#bec8dc6b;line-height:1.55;margin:0 0 .6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-item-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.post-item-tags{display:flex;gap:.35rem;flex-wrap:wrap}.post-tag{font-family:var(--font-mono);font-size:.66rem;color:#3b82f647;letter-spacing:.02em}.post-item-meta{display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.7rem;color:#3b82f647;white-space:nowrap;flex-shrink:0}.read-link{color:var(--g-dim);text-decoration:none;transition:color .18s}.read-link:hover{color:var(--g)}.blog-empty{font-family:var(--font-mono);font-size:.85rem;color:#3b82f64d;padding:2.5rem 0;display:flex;align-items:center;gap:.6rem}.blog-empty .prompt{color:var(--g-dim)}.pagination-row{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.25rem;font-family:var(--font-mono);font-size:.8rem}.page-btn{color:var(--g-dim);text-decoration:none;padding:.32rem .7rem;border:1px solid var(--panel-border);border-radius:4px;background:var(--panel-bg);transition:all .15s;white-space:nowrap}.page-btn:hover:not(.disabled){color:var(--g);border-color:#3b82f64d}.page-btn.disabled{opacity:.3;cursor:default}.page-numbers{display:flex;gap:.25rem}.page-num{display:flex;align-items:center;justify-content:center;width:32px;height:30px;color:#3b82f661;text-decoration:none;border:1px solid var(--panel-border);border-radius:4px;background:var(--panel-bg);transition:all .15s}.page-num:hover{color:var(--g);border-color:#3b82f647}.page-num.active{color:var(--g);background:var(--g-faint);border-color:#3b82f647;font-weight:700}.blog-sidebar{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:calc(58px + 1rem)}.sidebar-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:6px;overflow:hidden}.sidebar-panel-title{font-family:var(--font-mono);font-size:.68rem;font-weight:600;color:var(--g-dim);letter-spacing:.1em;padding:.45rem .875rem;background:#3b82f608;border-bottom:1px solid var(--panel-border)}.sidebar-posts{display:flex;flex-direction:column}.sidebar-post{display:flex;gap:.5rem;padding:.5rem .875rem;text-decoration:none;border-bottom:1px solid rgba(59,130,246,.04);transition:background .12s}.sidebar-post:last-child{border-bottom:none}.sidebar-post:hover{background:var(--g-faint)}.sidebar-post-date{font-family:var(--font-mono);font-size:.66rem;color:#3b82f647;white-space:nowrap;flex-shrink:0;margin-top:2px}.sidebar-post-title{font-size:.78rem;color:#bec8dc99;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}.sidebar-post:hover .sidebar-post-title{color:var(--g)}.sidebar-cats{display:flex;flex-direction:column}.sidebar-cat{display:flex;justify-content:space-between;align-items:center;padding:.45rem .875rem;text-decoration:none;border-bottom:1px solid rgba(59,130,246,.04);transition:background .12s;font-size:.8rem}.sidebar-cat:last-child{border-bottom:none}.sidebar-cat:hover{background:var(--g-faint)}.cat-name{color:#bec8dc99;transition:color .12s}.sidebar-cat:hover .cat-name{color:var(--g)}.cat-count{font-family:var(--font-mono);font-size:.66rem;color:#3b82f64d;background:var(--g-faint);border:1px solid rgba(59,130,246,.1);padding:.06rem .32rem;border-radius:3px}.sidebar-links{display:flex;flex-direction:column}.sidebar-link{display:flex;align-items:center;gap:.45rem;padding:.5rem .875rem;text-decoration:none;border-bottom:1px solid rgba(59,130,246,.04);font-family:var(--font-mono);font-size:.78rem;color:#3b82f652;transition:all .12s}.sidebar-link:last-child{border-bottom:none}.sidebar-link:hover{color:var(--g);background:var(--g-faint)}.sidebar-link .prompt{color:var(--g-dim)}.blog-post{max-width:800px;margin:0 auto;padding:1.5rem 2rem}.post-back{margin-bottom:1rem}.back-link{font-family:var(--font-mono);font-size:.8rem;color:var(--g-dim);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:color .18s}.back-link:hover{color:var(--g)}.back-link .prompt{color:#3b82f659}.post-header-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.post-meta-strip{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.72rem;margin-bottom:1rem}.post-meta-strip .meta-sep{color:#3b82f633}.post-author-label,.post-date-label,.post-time-label{color:#3b82f652}.post-header-panel .post-featured-image{width:100%;max-height:320px;overflow:hidden;border-radius:6px;margin-bottom:1.1rem}.post-header-panel .post-featured-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(8%) contrast(1.02);display:block}.post-title{font-size:1.65rem;font-weight:700;color:var(--text-strong, #f0f4fa);line-height:1.3;margin:0 0 .75rem;word-break:break-word}.post-tags-row{display:flex;gap:.35rem;flex-wrap:wrap}.post-tags-row .post-tag{font-family:var(--font-mono);font-size:.7rem;color:#3b82f661;background:var(--g-faint);border:1px solid rgba(59,130,246,.1);padding:.12rem .42rem;border-radius:3px}.post-content{margin-bottom:1.5rem}.prose{color:#d7deeee0;font-size:1rem;line-height:1.82;word-break:break-word;overflow-wrap:break-word}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--text-strong, #f0f4fa);font-weight:700;margin-top:2rem;margin-bottom:.75rem;line-height:1.3;scroll-margin-top:4rem}.prose h1{font-size:1.65rem;border-bottom:1px solid var(--panel-border);padding-bottom:.4rem}.prose h2{font-size:1.35rem;border-left:3px solid var(--g-dim);padding-left:.7rem}.prose h3{font-size:1.15rem}.prose h4{font-size:1.02rem}.prose p{margin-bottom:1.1rem}.prose a{color:var(--g-dim);text-decoration:none;border-bottom:1px solid rgba(59,130,246,.18);transition:color .15s,border-color .15s}.prose a:hover{color:var(--g);border-bottom-color:var(--g)}.prose strong{color:var(--text-strong, #f0f4fa);font-weight:700}.prose em{color:#3b82f68c;font-style:italic}.prose blockquote{border-left:3px solid var(--g-dim);margin:1.25rem 0;padding:.65rem 1.1rem;background:#3b82f60a;border-radius:0 5px 5px 0;color:#bec8dc9e;font-style:italic}.prose blockquote p{margin:0}.prose ul,.prose ol{margin-bottom:1.1rem;padding-left:1.6rem}.prose li{margin-bottom:.3rem;line-height:1.65}.prose code:not(pre code){font-family:var(--font-mono);font-size:.84em;background:#3b82f60d;color:var(--g-dim);padding:.14rem .38rem;border-radius:3px;border:1px solid rgba(59,130,246,.1)}.prose pre{background:#07090d;border:1px solid rgba(59,130,246,.28);border-radius:6px;padding:0;overflow:hidden;margin:1.25rem 0;position:relative;transition:border-color .2s}.prose pre:hover{border-color:#3b82f673}.prose pre code{display:block;padding:1rem 1.1rem;color:#dce2ee;font-family:var(--font-mono);font-size:.875rem;line-height:1.6;overflow-x:auto;white-space:pre;background:transparent;border:none}.copy-code-btn{position:absolute;top:7px;right:8px;font-family:var(--font-mono);font-size:.65rem;background:#3b82f60d;border:1px solid rgba(59,130,246,.14);color:#3b82f661;padding:.18rem .5rem;border-radius:3px;cursor:pointer;letter-spacing:.04em;transition:all .15s}.copy-code-btn:hover{color:var(--g);border-color:#3b82f64d}.prose img{max-width:100%;height:auto;border-radius:5px;margin:1rem 0;display:block;border:1px solid var(--panel-border)}.prose table{width:100%;border-collapse:collapse;margin:1.1rem 0;font-size:.9rem}.prose th,.prose td{border:1px solid var(--panel-border);padding:.55rem .875rem;text-align:left}.prose th{background:var(--g-faint);color:var(--g-dim);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;font-weight:600}.prose tr:nth-child(2n){background:#3b82f605}.prose hr{border:none;border-top:1px solid var(--panel-border);margin:1.75rem 0}.post-footer-strip{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;border:1px solid var(--panel-border);border-radius:6px;background:var(--panel-bg);font-family:var(--font-mono);font-size:.72rem;margin-bottom:1.5rem}.updated-info{color:#3b82f652}.updated-info .prompt{color:var(--g-dim);margin-right:.3rem}.copy-link-btn{font-family:var(--font-mono);font-size:.7rem;background:var(--g-faint);border:1px solid var(--panel-border);color:var(--g-dim);padding:.22rem .55rem;border-radius:3px;cursor:pointer;transition:all .15s}.copy-link-btn:hover{color:var(--g);border-color:#3b82f647}.related-posts-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:6px;margin-bottom:1.5rem;overflow:hidden}.panel-label{font-family:var(--font-mono);font-size:.68rem;font-weight:600;color:var(--g-dim);letter-spacing:.1em;padding:.45rem .875rem;background:#3b82f608;border-bottom:1px solid var(--panel-border)}.related-list{display:flex;flex-direction:column}.related-item{display:flex;align-items:baseline;gap:.55rem;padding:.55rem .875rem;text-decoration:none;border-bottom:1px solid rgba(59,130,246,.04);transition:background .12s;flex-wrap:wrap}.related-item:last-child{border-bottom:none}.related-item:hover{background:var(--g-faint)}.related-date{font-family:var(--font-mono);font-size:.68rem;color:#3b82f647;white-space:nowrap;flex-shrink:0}.related-cat{font-family:var(--font-mono);font-size:.68rem;color:var(--g-dim);white-space:nowrap;flex-shrink:0}.related-title{font-size:.84rem;color:#bec8dca6;transition:color .12s}.related-item:hover .related-title{color:var(--g)}.comments-section{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:6px;margin-bottom:1.5rem;overflow:hidden}.comments-section .section-cmd{display:flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.78rem;padding:.55rem 1rem;background:#3b82f608;border-bottom:1px solid var(--panel-border)}.section-cmd .prompt{color:var(--g-dim)}.section-cmd .cmd-text{color:#bec8dca6}.comment-form-wrap{padding:1rem;border-bottom:1px solid var(--panel-border)}.comment-form{display:flex;flex-direction:column;gap:.65rem}.form-row{display:flex;flex-direction:column;gap:.28rem}.form-label{font-family:var(--font-mono);font-size:.66rem;color:var(--g-dim);letter-spacing:.08em}.name-input-group{display:flex;gap:.5rem}.name-input-group .term-input{flex:1}.term-input{width:100%;font-family:var(--font-mono);font-size:.82rem;color:#d7deeee0;background:#3b82f606;border:1px solid var(--panel-border);border-radius:4px;padding:.48rem .7rem;outline:none;transition:border-color .18s;box-sizing:border-box}.term-input:focus{border-color:#3b82f652}.term-input::placeholder{color:#3b82f62e}.term-textarea{resize:vertical;min-height:88px}.char-count{font-family:var(--font-mono);font-size:.66rem;color:#3b82f638;text-align:right;display:block}.random-btn{font-family:var(--font-mono);font-size:.7rem;background:var(--g-faint);border:1px solid var(--panel-border);color:var(--g-dim);padding:.48rem .6rem;border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.random-btn:hover{color:var(--g);border-color:#3b82f647}.form-submit-row{display:flex;justify-content:flex-end}.submit-btn{font-family:var(--font-mono);font-size:.8rem;background:var(--g-faint);border:1px solid rgba(59,130,246,.22);color:var(--g-dim);padding:.48rem 1rem;border-radius:4px;cursor:pointer;transition:all .18s;letter-spacing:.04em}.submit-btn:hover:not(:disabled){color:var(--g);border-color:#3b82f661;background:#3b82f612}.submit-btn:disabled{opacity:.35;cursor:not-allowed}.comments-list{display:flex;flex-direction:column}.comment-item{padding:.7rem 1rem;border-bottom:1px solid rgba(59,130,246,.04);transition:background .12s}.comment-item:last-child{border-bottom:none}.comment-item:hover{background:#3b82f605}.comment-item.new-comment{background:#3b82f609;border-left:2px solid var(--g)}.comment-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.3rem;font-family:var(--font-mono);font-size:.73rem}.comment-prompt{color:var(--g-dim)}.comment-author{color:var(--g);font-weight:600}.comment-time{color:#3b82f647;margin-left:auto;font-size:.68rem}.comment-content{font-size:.86rem;color:#bec8dcad;line-height:1.55;white-space:pre-wrap;word-break:break-word;padding-left:.9rem}.no-comments{padding:1.1rem 1rem;font-family:var(--font-mono);font-size:.8rem;color:#3b82f647;display:flex;align-items:center;gap:.5rem}.message{position:fixed;top:1.25rem;right:1.25rem;z-index:9999;font-family:var(--font-mono);font-size:.8rem;padding:.55rem 1rem;border-radius:4px;border:1px solid;transform:translate(120%);opacity:0;transition:all .22s ease;pointer-events:none}.message.show{transform:translate(0);opacity:1}.message-success{background:#3b82f612;border-color:#3b82f647;color:var(--g)}.message-error{background:#ef444412;border-color:#ef444447;color:#f87171}.post-bottom-nav{display:flex;gap:1.25rem;padding:.75rem 0;border-top:1px solid var(--panel-border)}.bottom-link{font-family:var(--font-mono);font-size:.8rem;color:var(--g-dim);text-decoration:none;display:flex;align-items:center;gap:.4rem;transition:color .18s}.bottom-link:hover{color:var(--g)}.bottom-link .prompt{color:#3b82f659}@media (max-width: 900px){.blog-content{grid-template-columns:1fr}.blog-sidebar{position:static}}@media (max-width: 768px){.blog-index{padding:1rem}.blog-header{flex-direction:column;align-items:flex-start}.blog-search{width:100%}.blog-post{padding:1rem}.post-title{font-size:1.4rem}.post-header-panel .post-featured-image{max-height:200px}.post-footer-strip{flex-direction:column;align-items:flex-start;gap:.5rem}.post-bottom-nav{flex-direction:column;gap:.4rem}}@media (max-width: 480px){.blog-index{padding:.75rem}.post-item{padding:.875rem}.post-title{font-size:1.25rem}.post-header-panel{padding:1rem}.comment-form-wrap{padding:.875rem}}
