.mobile-menu-btn,.mobile-search-btn{display:none}.mobile-menu-overlay,.mobile-menu-panel{display:none}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#111;background-color:#fdfdfd;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2a7ae2;text-decoration:none}a:visited{color:#1756a9}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover{text-decoration:none}.social-media-list a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(800px - (30px * 2));max-width:calc(800px - (30px * 2));margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width: 800px){.wrapper{max-width:-webkit-calc(800px - (30px));max-width:calc(800px - (30px));padding-right:15px;padding-left:15px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.svg-icon{width:16px;height:16px;display:inline-block;fill:#828282;padding-right:5px;vertical-align:text-top}.social-media-list li+li{padding-top:5px}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #dedede;border-bottom-color:#c9c9c9}table td{border:1px solid #e8e8e8}.site-header{border-top:5px solid #424242;border-bottom:1px solid #e8e8e8;min-height:55.95px;position:relative}.site-title{font-size:26px;font-weight:300;line-height:54px;letter-spacing:-1px;margin-bottom:0;float:left}.site-title,.site-title:visited{color:#424242}.site-nav{float:right;line-height:54px}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{display:none}.site-nav .page-link{color:#111;line-height:1.5}.site-nav .page-link:not(:last-child){margin-right:20px}@media screen and (max-width: 600px){.site-nav{position:absolute;top:9px;right:15px;background-color:#fdfdfd;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav .menu-icon{display:block;float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg{fill:#424242}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0}.footer-heading{font-size:18px;margin-bottom:15px}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:#828282;margin-left:-15px}.footer-col{float:left;margin-bottom:15px;padding-left:15px}.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}@media screen and (max-width: 800px){.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}@media screen and (max-width: 600px){.footer-col{float:none;width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}.page-content{padding:30px 0;flex:1}.page-heading{font-size:32px}.post-list-heading{font-size:28px}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{display:block;font-size:24px}.post-header{margin-bottom:30px}.post-title{font-size:42px;letter-spacing:-1px;line-height:1}@media screen and (max-width: 800px){.post-title{font-size:36px}}.post-content{margin-bottom:30px}.post-content h2{font-size:32px}@media screen and (max-width: 800px){.post-content h2{font-size:28px}}.post-content h3{font-size:26px}@media screen and (max-width: 800px){.post-content h3{font-size:22px}}.post-content h4{font-size:20px}@media screen and (max-width: 800px){.post-content h4{font-size:18px}}.highlight{background:#fff}.highlighter-rouge .highlight{background:#eef}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}:root{color-scheme:light dark;--background: hsl(0, 0%, 100%);--foreground: hsl(0, 0%, 3.9%);--card: hsl(0, 0%, 100%);--card-foreground: hsl(0, 0%, 3.9%);--popover: hsl(0, 0%, 100%);--popover-foreground: hsl(0, 0%, 3.9%);--primary: hsl(0, 0%, 9%);--primary-foreground: hsl(0, 0%, 98%);--secondary: hsl(0, 0%, 96.1%);--secondary-foreground: hsl(0, 0%, 9%);--muted: hsl(0, 0%, 96.1%);--muted-foreground: hsl(0, 0%, 45.1%);--accent: hsl(0, 0%, 96.1%);--accent-foreground: hsl(0, 0%, 9%);--destructive: hsl(0, 84.2%, 60.2%);--border: hsl(0, 0%, 89.8%);--input: hsl(0, 0%, 89.8%);--ring: hsl(0, 0%, 3.9%);--radius: 0.5rem;--radius-lg: 0.75rem;--link: hsl(221, 83%, 53%);--link-hover: hsl(221, 83%, 45%);--link-visited: hsl(270, 60%, 45%)}@media (prefers-color-scheme: dark){:root{--background: hsl(0, 0%, 3.9%);--foreground: hsl(0, 0%, 98%);--card: hsl(0, 0%, 3.9%);--card-foreground: hsl(0, 0%, 98%);--popover: hsl(0, 0%, 3.9%);--popover-foreground: hsl(0, 0%, 98%);--primary: hsl(0, 0%, 98%);--primary-foreground: hsl(0, 0%, 9%);--secondary: hsl(0, 0%, 14.9%);--secondary-foreground: hsl(0, 0%, 98%);--muted: hsl(0, 0%, 14.9%);--muted-foreground: hsl(0, 0%, 63.9%);--accent: hsl(0, 0%, 14.9%);--accent-foreground: hsl(0, 0%, 98%);--border: hsl(0, 0%, 14.9%);--input: hsl(0, 0%, 14.9%);--ring: hsl(0, 0%, 83.1%);--link: hsl(217, 91%, 60%);--link-hover: hsl(217, 91%, 70%);--link-visited: hsl(270, 55%, 55%)}}body{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif;font-size:1rem;line-height:1.6;color:var(--foreground);background:var(--background);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal;font-synthesis:none}.wrapper{width:80%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}@media (max-width: 1024px){.wrapper{width:90%}}.site-header{border-top:none !important;border-bottom:1px solid var(--border);min-height:0;padding-top:1rem;padding-bottom:1rem;margin-bottom:2rem;background:var(--background)}.site-header .wrapper,.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-nav-links{display:flex;align-items:center;gap:1.5rem;margin-left:auto;margin-right:1rem}.nav-link{font-size:0.9375rem;font-weight:500;color:var(--muted-foreground);text-decoration:none;transition:color 0.15s}.nav-link:hover{color:var(--foreground);text-decoration:none}.site-title{font-size:1.25rem;font-weight:600;color:var(--foreground);text-decoration:none;letter-spacing:normal;margin-bottom:0;float:none;line-height:1.5}.site-title:hover{color:var(--foreground);opacity:0.8}.search-header-wrap{display:flex;align-items:center;gap:0.5rem;flex:1;min-width:0;max-width:400px}.search-header-input{width:100%;min-width:180px;padding:0.5rem 0.75rem;font-size:0.9375rem;color:var(--foreground);background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background 0.15s, border-color 0.15s}.search-header-input::placeholder{color:var(--muted-foreground)}.search-header-input:hover,.search-header-input:focus{outline:none;background:var(--background);border-color:var(--input)}.search-header-kbd{flex-shrink:0;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:0.75rem;font-weight:500;padding:0.125rem 0.375rem;background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius) * 0.5);color:var(--muted-foreground);line-height:1.4;letter-spacing:0.025em;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 768px){.site-nav-links{gap:1rem;margin-right:0.5rem}.nav-link{font-size:0.875rem}}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:9999;pointer-events:none;opacity:0;transform:scaleX(0);transform-origin:left center;background:var(--foreground);transition:opacity 0.3s, transform 0.08s linear}@media (max-width: 640px){.site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,0.9);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);padding-top:0.5rem;padding-bottom:0.5rem;margin-bottom:1.25rem}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:0;min-height:2.75rem}.site-title{font-size:1rem;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-nav-links,.search-header-wrap{display:none !important}.mobile-search-btn{display:flex;align-items:center;justify-content:center;width:2.125rem;height:2.125rem;padding:0;margin-right:0.25rem;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;flex-shrink:0;transition:background 0.15s}.mobile-search-btn:hover,.mobile-search-btn:active{background:var(--accent)}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;margin:0;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;flex-shrink:0;transition:background 0.15s, border-color 0.15s}.mobile-menu-btn:hover{background:var(--accent);border-color:var(--muted-foreground)}.mobile-menu-btn:active{background:var(--muted)}.mobile-menu-overlay{display:block;position:fixed;inset:0;z-index:900;background:transparent;pointer-events:none;transition:background 0.3s ease}.mobile-menu-overlay-visible{background:rgba(0,0,0,0.4);pointer-events:auto;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-menu-panel{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:min(300px, 80vw);z-index:950;background:var(--background);border-left:1px solid var(--border);box-shadow:-8px 0 30px rgba(0,0,0,0.12);transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-menu-open{transform:translateX(0)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.125rem;border-bottom:1px solid var(--border);flex-shrink:0}.mobile-menu-title{font-size:0.8125rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:0.06em}.mobile-menu-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin:0;background:none;border:none;border-radius:var(--radius);color:var(--muted-foreground);cursor:pointer;transition:background 0.15s, color 0.15s}.mobile-menu-close:hover{background:var(--accent);color:var(--foreground)}.mobile-menu-search{padding:0.875rem 1.125rem;border-bottom:1px solid var(--border);flex-shrink:0}.mobile-search-input{width:100%;padding:0.5rem 0.75rem;font-size:0.875rem;color:var(--foreground);background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background 0.15s, border-color 0.15s}.mobile-search-input::placeholder{color:var(--muted-foreground)}.mobile-search-input:focus{outline:none;background:var(--background);border-color:var(--ring)}.mobile-menu-nav{padding:0.5rem 0;flex:1}.mobile-menu-link{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1.125rem;font-size:0.9375rem;font-weight:500;color:var(--foreground);text-decoration:none;transition:background 0.1s}.mobile-menu-link:hover{background:var(--accent);text-decoration:none}.mobile-menu-link svg{flex-shrink:0;opacity:0.5}.mobile-menu-footer{padding:0.875rem 1.125rem;border-top:1px solid var(--border);font-size:0.75rem;color:var(--muted-foreground);flex-shrink:0}.mobile-menu-footer kbd{font-family:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;font-size:0.6875rem;padding:0.125rem 0.375rem;background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius) * 0.5);color:var(--muted-foreground)}.page-content .wrapper>ul:first-of-type{border-radius:var(--radius)}.page-content .wrapper>ul:first-of-type li{position:relative;padding:0.5rem 0.875rem 1.1rem;display:block;min-height:2.75rem;-webkit-tap-highlight-color:transparent;transition:background 0.1s}.page-content .wrapper>ul:first-of-type li:active{background:var(--accent)}.post-list-num{display:none !important}.post-list-date{position:absolute;bottom:0.3rem;right:0.875rem;display:block;font-size:0.5625rem;font-family:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;font-variant-numeric:tabular-nums;color:var(--muted-foreground);opacity:0.45;white-space:nowrap;letter-spacing:0;line-height:1}.page-content .wrapper>ul:first-of-type li a{display:block;width:100%;font-size:0.8125rem;font-weight:500;line-height:1.45;color:var(--foreground);word-break:break-word}.post-title,article h1{font-size:1.375rem;line-height:1.35;margin-bottom:1rem;padding-bottom:0.625rem}.post-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 0.375rem;padding:0.25rem 0.625rem;font-size:0.75rem;margin-top:-0.25rem;margin-bottom:1rem;background:var(--muted);border-radius:var(--radius);color:var(--muted-foreground);line-height:1.6}.post-meta time,.post-meta .p-author{white-space:nowrap}article h2{font-size:1.125rem;margin-top:1.25rem;margin-bottom:0.5rem;padding-bottom:0.375rem}article h3{font-size:1.0625rem;margin-top:1rem;margin-bottom:0.375rem}article table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:0.8125rem}.page-content pre,.page-content pre.highlight,.page-content .highlight pre,.page-content .highlighter-rouge .highlight,.page-content .highlight{padding:0.875rem 1rem;font-size:0.8125rem;border-radius:var(--radius);margin-left:-0.5rem;margin-right:-0.5rem}.post-content .mermaid{margin-left:-0.5rem;margin-right:-0.5rem}.wrapper{width:92%}}.search-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1rem 1rem;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.2s, visibility 0.2s}.search-modal.search-modal-open{pointer-events:auto;opacity:1;visibility:visible}.search-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);cursor:pointer}.search-modal-box{position:relative;width:100%;max-width:560px;max-height:70vh;display:flex;flex-direction:column;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);overflow:hidden}.search-modal-header{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;border-bottom:1px solid var(--border)}.search-input{flex:1;padding:0.5rem 0;font-size:1rem;color:var(--foreground);background:transparent;border:none;outline:none}.search-input::placeholder{color:var(--muted-foreground)}.search-modal-header .search-kbd{flex-shrink:0;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:0.75rem;font-weight:500;padding:0.25rem 0.5rem;background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius) * 0.5);color:var(--muted-foreground);line-height:1.4;letter-spacing:0.025em;display:inline-flex;align-items:center;justify-content:center}.search-results{overflow-y:auto;padding:0.25rem 0}.search-result-item{display:block;padding:0.75rem 1rem;font-size:0.9375rem;color:var(--foreground);text-decoration:none;transition:background 0.1s;border-bottom:1px solid var(--border)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--accent);color:var(--foreground);text-decoration:none}.search-result-item-selected,.search-result-item.search-result-item-selected:hover{background:var(--accent);color:var(--foreground);text-decoration:none;border-left:3px solid var(--primary);margin-left:0;padding-left:calc(1rem - 3px)}.search-result-title{font-weight:600;margin-bottom:0.25rem;line-height:1.4;color:#333;transition:color 0.15s}.search-result-item:hover .search-result-title{color:#0a0a0a}@media (prefers-color-scheme: dark){.search-result-title{color:#d9d9d9}.search-result-item:hover .search-result-title{color:#fafafa}}.search-result-snippet{font-size:0.8125rem;color:var(--muted-foreground);line-height:1.5;margin-top:0.25rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-highlight{background:#e7b008;color:var(--foreground);padding:0.125em 0.125em;border-radius:2px;font-weight:600}@media (prefers-color-scheme: dark){.search-highlight{background:#e7b008;color:#171717}}.search-empty,.search-hint{padding:0.75rem 1rem;font-size:0.8125rem;color:var(--muted-foreground)}.search-hint{border-top:1px solid var(--border)}.search-hint kbd{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:0.75em;font-weight:500;padding:0.125em 0.375em;background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius) * 0.5);color:var(--muted-foreground);display:inline-block;line-height:1.2;margin:0 0.125em}.search-modal .hidden{display:none !important}.search-error{padding:1rem;font-size:0.875rem;color:var(--destructive)}.search-loading{padding:1rem;font-size:0.875rem;color:var(--muted-foreground);text-align:center}.site-nav{display:none}.page-content{padding-bottom:3rem}.post-content{content-visibility:auto;contain-intrinsic-size:auto 500px}.page-content .wrapper>ul:first-of-type{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--card)}.page-content .wrapper>ul:first-of-type li{margin:0;padding:0.625rem 1rem;border-bottom:1px solid var(--border);font-size:0.8125rem;color:var(--muted-foreground)}.page-content .wrapper>ul:first-of-type li:last-child{border-bottom:none}.post-list-date{margin-right:0.625rem}.post-list-num{display:inline-block;min-width:2.5em;margin-right:0.5em;font-size:0.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-family:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}.page-content .wrapper>ul:first-of-type li a{font-size:1rem;font-weight:600;color:var(--foreground);text-decoration:none}.page-content .wrapper>ul:first-of-type li a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.page-content .wrapper>ul:first-of-type li code{display:none}article,.post-content{font-feature-settings:"kern" 1, "liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}article{max-width:100%}.post{margin-top:0}.post-title,article h1{font-size:1.875rem;font-weight:600;margin-top:0;margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border);color:var(--foreground);letter-spacing:-0.025em;line-height:1.3}.post-meta{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:2rem;margin-top:-0.5rem;padding:0.875rem 1rem;background:var(--muted);border-radius:var(--radius);font-size:0.8125rem;line-height:1.5}.post-meta-item{display:flex;align-items:center;gap:0.5rem}.post-meta-label{font-weight:500;color:var(--muted-foreground);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.025em}.post-meta-value{color:var(--foreground);font-weight:400}.post-meta-badges{display:flex;flex-wrap:wrap;gap:0.375rem}.post-meta-badge{display:inline-flex;align-items:center;padding:0.125rem 0.5rem;background:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius) * 0.5);font-size:0.6875rem;font-weight:500;color:var(--muted-foreground);line-height:1.2}.post-meta-link{color:var(--link);text-decoration:underline;text-underline-offset:2px;font-weight:500;transition:color 0.15s, opacity 0.15s}.post-meta-link:hover{color:var(--link-hover);opacity:1}.post-content{margin-top:0}article h2{font-size:1.5rem;font-weight:600;margin-top:2rem;margin-bottom:0.75rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border);color:var(--foreground)}article h3{font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:0.5rem;color:var(--foreground)}article p{margin-bottom:1rem;color:var(--foreground)}article blockquote{position:relative;margin:1rem 0;padding:0.5rem 1rem 0.5rem 3rem;background:rgba(55,53,47,0.09);color:rgba(55,53,47,0.7);font-size:0.9375rem;font-style:normal;line-height:1.65;border-left:4px solid rgba(55,53,47,0.16);border-radius:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}article blockquote::before{content:'“';position:absolute;left:0.75rem;top:0.25rem;font-size:3.5rem;font-family:Georgia, "Times New Roman", serif;color:rgba(55,53,47,0.13);line-height:1;font-weight:400;pointer-events:none;z-index:0}article blockquote>*{position:relative;z-index:1}article blockquote p:first-child{margin-top:0}article blockquote p:last-child{margin-bottom:0}.page-content code,.page-content code.highlighter-rouge,.page-content code.language-plaintext,.page-content .highlighter-rouge code{font-size:0.875em;padding:0.2em 0.4em;background:#f5f5f5 !important;color:var(--foreground);border-radius:calc(var(--radius) - 2px);font-family:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;font-weight:600;border:none !important}.page-content pre,.page-content pre.highlight,.page-content .highlight pre,.page-content .highlighter-rouge .highlight,.page-content .highlight{padding:1rem 1.25rem;background:#fafafa !important;border:none !important;border-radius:var(--radius);overflow-x:auto;margin:1rem 0;font-size:0.875rem;line-height:1.6}.page-content .highlighter-rouge{background:transparent !important}.page-content .highlighter-rouge .highlight{background:#fafafa !important}@media (prefers-color-scheme: dark){.page-content pre,.page-content pre.highlight,.page-content .highlight pre,.page-content .highlighter-rouge .highlight,.page-content .highlight{background:#0d0d0d !important}.page-content .highlighter-rouge .highlight{background:#0d0d0d !important}}.page-content pre code,.page-content pre.highlight code,.page-content .highlight pre code{padding:0;background:transparent !important;font-weight:normal;color:var(--foreground);border:none !important}article table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:0.875rem}article table th,article table td{border:1px solid var(--border);padding:0.5rem 0.75rem;text-align:left}article table th{background:var(--muted);font-weight:600;color:var(--foreground)}article table tr:nth-child(even){background:var(--muted)}.page-content .wrapper ul:not(:first-of-type),article ul,article ol{list-style:disc;list-style-position:outside;margin:1rem 0;padding-left:1.5rem;border:none;border-radius:0;background:transparent;overflow:visible}.page-content .wrapper ul ul,.page-content .wrapper ul ul ul,article ul ul,article ul ul ul{margin-top:0.5rem;margin-bottom:0.5rem;padding-left:1.5rem}.page-content .wrapper ul:not(:first-of-type) li,.page-content .wrapper ul ul li,article li{margin-bottom:0.25rem;display:list-item;padding:0;border-bottom:none;font-size:inherit;color:var(--foreground);text-align:left}.page-content .wrapper ul:not(:first-of-type) li a,.page-content .wrapper ul ul li a,article li a{font-size:inherit;font-weight:normal;margin-right:0}article>blockquote:first-of-type{margin-bottom:1.5rem;padding:1rem 1.25rem;font-style:normal;font-size:0.875rem;line-height:1.6;color:var(--muted-foreground);background:var(--muted);border:1px solid var(--border);border-left:3px solid var(--muted-foreground);border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(0,0,0,0.04)}@media (prefers-color-scheme: dark){article blockquote{background:rgba(255,255,255,0.055);color:rgba(255,255,255,0.7);border-left-color:rgba(255,255,255,0.2)}article blockquote::before{color:rgba(255,255,255,0.13)}article>blockquote:first-of-type{box-shadow:none}}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}.post-content a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--link);border-radius:2px;padding:0.1em 0.15em;margin:0 -0.15em;transition:color 0.15s, background-color 0.15s, text-decoration-color 0.15s}.post-content a:hover{color:var(--link-hover);background-color:#e8eefd;text-decoration-color:var(--link-hover)}.post-content a:visited{color:var(--link-visited)}.post-content a:visited:hover{color:var(--link-hover);background-color:#e8eefd}@media (prefers-color-scheme: dark){.post-content a:hover{background-color:#122449}.post-content a:visited:hover{background-color:#122449}}.site-footer{display:none !important}.post-content .MathJax{max-width:100%;display:inline-block;margin:0 0.125em;padding:0.125em 0.25em;background:var(--muted);border-radius:calc(var(--radius) * 0.5);color:var(--foreground);font-size:1.05em;line-height:1.6;vertical-align:baseline;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1;font-kerning:normal}.post-content .MathJax_Display{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;overflow-y:hidden;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.post-content .MathJax_Display .MathJax{background:transparent;padding:0;margin:0;border-radius:0;display:block;font-size:1.1em;line-height:1.8}.post-content .MathJax svg,.post-content .MathJax_Display svg{display:inline-block;vertical-align:middle}.post-content .MathJax span{display:inline-block}.post-content .MathJax,.post-content .MathJax_Display{transition:background-color 0.2s ease, border-color 0.2s ease}.post-content p .MathJax{margin:0 0.15em}.post-content p:has(.MathJax){line-height:1.7}@media (prefers-color-scheme: dark){.post-content .MathJax{background:var(--muted);color:var(--foreground)}.post-content .MathJax_Display{background:var(--muted);border-color:var(--border)}.post-content .MathJax svg,.post-content .MathJax_Display svg{filter:contrast(1.05)}}.post-content .mermaid{margin:1.5rem 0;overflow-x:auto;text-align:center}.post-content .mermaid svg{max-width:100%;height:auto}@media (max-width: 640px) and (prefers-color-scheme: dark){.site-header{background:rgba(10,10,10,0.9)}}@media (max-width: 640px){.search-modal{padding:0;align-items:flex-end}.search-modal-backdrop{background:rgba(0,0,0,0.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.search-modal-box{max-width:100%;width:100%;max-height:82svh;max-height:82vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:none;border-top:1px solid var(--border);box-shadow:0 -8px 40px rgba(0,0,0,0.15);animation:searchSlideUp 0.22s cubic-bezier(0.32, 0.72, 0, 1)}}@keyframes searchSlideUp{from{transform:translateY(100%);opacity:0.5}to{transform:translateY(0);opacity:1}}
