:root{--bg-color:#fff;--text-color:#212529;--link-color:#0056b3;--link-hover-color:#007bff;--header-bg:linear-gradient(#fff, #fff, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3));--header-border:#d7d7d7;--blockquote-color:gray;--blockquote-border:aqua;--code-bg:#f1f1f1;--code-border:#0056b3;--card-bg:#fff;--card-border:#ddd;--card-border-radius:0.5rem;--card-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--card-shadow-hover:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--btn-outline-primary-hover-bg:var(--link-color);--btn-outline-primary-hover-color:#fff;--btn-outline-primary-hover-border:var(--link-color);--timestamp-color:darkgray;--footer-icp-color:silver;--footer-icp-hover-color:gray;--mermaid-filter:invert(0) hue-rotate(0deg);--navbar-toggler-icon-filter:invert(0);--transition-base:all 0.3s ease}@media(prefers-color-scheme:dark){:root{--bg-color:#1a1a1a;--text-color:#e0e0e0;--link-color:#90caf9;--link-hover-color:#bb86fc;--header-bg:linear-gradient(#1a1a1a, #1a1a1a, rgba(26, 26, 26, 0.8), rgba(26, 26, 26, 0.6), rgba(26, 26, 26, 0.3));--header-border:#333;--blockquote-color:#a0a0a0;--blockquote-border:#bb86fc;--code-bg:#2c2c2c;--code-border:#90caf9;--card-bg:#2c2c2c;--card-border:#444;--card-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);--card-shadow-hover:0 0.5rem 1rem rgba(0, 0, 0, 0.5);--btn-outline-primary-hover-bg:rgb(50, 50, 50);--btn-outline-primary-hover-color:var(--link-color);--btn-outline-primary-hover-border:darkgray;--timestamp-color:#a0a0a0;--footer-icp-color:#777;--footer-icp-hover-color:#aaa;--mermaid-filter:invert(1) hue-rotate(180deg);--navbar-toggler-icon-filter:invert(1)}}@media screen{html{scroll-padding-top:4.5em}body{background-color:var(--bg-color);color:var(--text-color)}body header{z-index:1;position:fixed;top:0;left:0;width:100%;background-image:var(--header-bg);border-bottom:1px solid var(--header-border)!important}body header .navbar{padding:.5em}body header .navbar .navbar-toggler-icon{filter:var(--navbar-toggler-icon-filter)}body header .navbar-brand,body header .nav-link{color:var(--text-color)!important;transition:var(--transition-base)}body header .navbar-brand:hover{color:var(--link-hover-color)!important}body header .nav-link:hover{color:var(--link-hover-color)!important;text-decoration:none}body header a{color:var(--text-color);transition:var(--transition-base)}body header a:hover{text-decoration:none;color:var(--link-hover-color)}body header li p{margin-bottom:0}body .toc{margin-top:60px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto;overflow-wrap:anywhere}body .toc ul{list-style-type:none;padding-left:1em}body .toc ul li{margin:8px 0}body .toc ul a{color:var(--text-color);text-decoration:none;transition:var(--transition-base);display:block;padding:2px 0}body .toc ul a:hover{color:var(--link-hover-color);text-decoration:underline;padding-left:4px}body #content{padding-top:3.5em}body #content .content{max-width:800px;line-height:1.7;font-size:1.05em}body #content .content p{margin-bottom:1.25em}body #content .content ul,body #content .content ol{margin-bottom:1.25em;padding-left:2em}body #content .content ul li,body #content .content ol li{margin-bottom:.5em;line-height:1.7}body #content a{color:var(--link-color);text-decoration:none;transition:var(--transition-base)}body #content a:hover{color:var(--link-hover-color);text-decoration:underline}body #content .post-meta{color:var(--timestamp-color);font-size:.9em}body #content .post-timestamp{color:var(--timestamp-color);padding-bottom:2em;font-size:.95em}body #content h1{margin-top:1.5em;margin-bottom:.75em;line-height:1.3;font-weight:700}body #content h2{margin-top:2em;margin-bottom:.75em;line-height:1.4;font-weight:600}body #content h3{margin-top:1.5em;margin-bottom:.5em;line-height:1.4;font-weight:600}body #content h4,body #content h5,body #content h6{margin-top:1.25em;margin-bottom:.5em;line-height:1.4;font-weight:600}body #content pre{padding:1.25em;background-color:var(--code-bg);border-radius:var(--card-border-radius);border-left:4px solid var(--code-border);overflow-x:auto;margin:1.5em 0;box-shadow:var(--card-shadow)}body #content pre code{font-family:monaco,menlo,ubuntu mono,consolas,source-code-pro,monospace;font-size:.9em;line-height:1.6;color:var(--text-color);background-color:initial;padding:0;border-radius:0}body #content code{font-family:monaco,menlo,ubuntu mono,consolas,source-code-pro,monospace;font-size:.9em;padding:.2em .4em;background-color:var(--code-bg);border-radius:3px;color:var(--text-color)}body #content img{max-width:100%;height:auto;display:block}body #content .featuredImage{width:100%;margin-bottom:1.5em;box-shadow:var(--card-shadow)}body .post-card{transition:all .6s cubic-bezier(.165,.84,.44,1);border-radius:var(--card-border-radius);box-shadow:var(--card-shadow)}body .post-card:hover{transform:scale(1.01);box-shadow:var(--card-shadow-hover)}body .card{background-color:var(--card-bg);border-color:var(--card-border);border-radius:var(--card-border-radius)}body .card .card-img-top{border-top-left-radius:var(--card-border-radius);border-top-right-radius:var(--card-border-radius)}body .card .card-body{color:var(--text-color)}body #content a.btn-outline-primary{transition:var(--transition-base);border-radius:var(--card-border-radius)}body #content a.btn-outline-primary:hover{color:var(--btn-outline-primary-hover-color);background-color:var(--btn-outline-primary-hover-bg);border-color:var(--btn-outline-primary-hover-border);box-shadow:0 2px 4px rgba(0,0,0,.1)}body footer{margin-top:2em;width:100%;text-align:center}body footer #icp{color:var(--footer-icp-color);transition:var(--transition-base);text-decoration:none}body footer #icp:hover{color:var(--footer-icp-hover-color);text-decoration:underline}body blockquote{font-style:italic;color:var(--blockquote-color);padding-left:1em;border-left:2px solid var(--blockquote-border)}}.mermaid{filter:var(--mermaid-filter)}.responsive-video-container{position:relative;margin-bottom:1em;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}.responsive-video-container iframe,.responsive-video-container object,.responsive-video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.ml-auto{margin-left:auto}.pagination .page-item .page-link{background-color:var(--card-bg);color:var(--link-color);border-color:var(--card-border)}.pagination .page-item.active .page-link{background-color:initial;color:var(--link-color);border-color:var(--link-color)}.pagination .page-item.disabled .page-link{background-color:var(--card-bg);color:var(--timestamp-color);border-color:var(--card-border)}