:root{--color-background: #ffffff;--color-text: #333333;--color-text-strong: #000000;--color-text-subtle: #555555;--color-meta: #888888;--color-border: #eeeeee;--color-link-underline: #bbbbbb;--color-code-bg: #f7f7f7;--measure-reading: 68ch;--container-width: 760px}html{scroll-behavior:smooth;text-size-adjust:100%;overflow-y:scroll}body{background-color:var(--color-background);color:var(--color-text);margin:0;padding:0;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-wrap:pretty;hanging-punctuation:allow-end;word-break:break-word;scrollbar-gutter:stable}body.article-page{background-color:#fff;background-image:radial-gradient(120% 60% at 10% 0%,rgba(0,0,0,.012),transparent 60%),radial-gradient(120% 60% at 90% 100%,rgba(0,0,0,.012),transparent 60%);min-height:100vh;min-height:100svh;display:flex;flex-direction:column}body.article-page>.container{width:100%;box-sizing:border-box;flex:1 0 auto;display:flex;flex-direction:column}body.article-page main{flex:1 0 auto}html:lang(zh) body,html:lang(zh-CN) body,html:lang(zh-Hans) body{line-height:var(--line-height-zh);letter-spacing:var(--letter-spacing-zh);font-family:var(--font-family-sans-cjk)}html:lang(en) body,html:lang(en-US) body,html:lang(en-GB) body{line-height:var(--line-height-latin);letter-spacing:var(--letter-spacing-latin);font-family:var(--font-family-sans-latin)}.container{max-width:var(--container-width);margin:0 auto;padding:40px 20px}a{color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-link-underline);transition:color .2s,border-color .2s}a:hover{color:var(--color-text-strong);border-bottom-color:var(--color-text-strong)}a:focus-visible{outline:2px solid var(--color-text-subtle);outline-offset:2px}.site-header{position:relative;display:flex;justify-content:space-between;align-items:baseline;padding-bottom:40px;margin-bottom:50px;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .5s ease;will-change:transform}.site-header.is-hidden{transform:translateY(-110%);opacity:0}body:has(.post-cover-fullwidth) .site-header,body.photography-layout .site-header{position:fixed;top:0;left:0;right:0;z-index:100;max-width:none;padding:20px 40px;background-color:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin-bottom:0;border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .3s ease,transform .6s cubic-bezier(.4,0,.2,1),opacity .5s ease;will-change:transform}body:has(.post-cover-fullwidth) .site-header.scrolled,body.photography-layout .site-header.scrolled{background-color:#fffffff2}body:has(.post-cover-fullwidth) .site-header.is-hidden,body.photography-layout .site-header.is-hidden{transform:translateY(-110%);opacity:0}@media(max-width:768px){body:has(.post-cover-fullwidth) .site-header,body.photography-layout .site-header{padding:16px 20px}}@media(max-width:480px){body:has(.post-cover-fullwidth) .site-header,body.photography-layout .site-header{padding:12px 16px}}.site-header-border{position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--color-border)}.site-branding{display:inline-flex;align-items:center;flex-wrap:wrap;gap:16px}.site-title{font-size:26px;font-weight:400;margin:0;letter-spacing:.05em;text-transform:lowercase;font-variant-numeric:oldstyle-nums}.site-title-uppercase{text-transform:uppercase}.site-title a{color:var(--color-text-strong);border-bottom:none;transition:color .3s ease,letter-spacing .3s ease;display:inline-block;position:relative}.site-title a:hover{color:var(--color-text);letter-spacing:.08em}.site-title a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:var(--color-text);transition:width .3s ease}.site-title a:hover:after{width:100%}.site-nav a{margin-left:20px;color:var(--color-text-subtle);font-size:16px;border-bottom:none}.site-nav a:hover,.site-nav a:focus-visible{color:var(--color-text-strong);outline:none}.site-controls{display:flex;align-items:center;gap:20px}.site-footer{margin-top:80px;padding-top:40px;border-top:1px solid var(--color-border);color:var(--color-meta);font-size:14px}.footer-content{display:flex;flex-direction:column;gap:16px}.footer-main{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;padding-bottom:0}.footer-brand{display:flex;flex-direction:column;gap:6px}.footer-logo{font-size:14px;font-weight:400;color:var(--color-text-subtle);letter-spacing:.02em}.footer-tagline{font-size:13px;color:var(--color-meta);font-style:italic}.footer-links a{color:var(--color-text-subtle);border-bottom:none;font-size:13px;font-family:var(--font-family-mono);letter-spacing:.05em;transition:color .2s ease}.footer-links a:hover{color:var(--color-text-strong)}.footer-bottom{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:12px;padding-top:16px;font-size:12px;color:var(--color-meta)}.footer-copyright{display:flex;align-items:center;gap:8px;font-size:12px}.footer-bottom small{font-size:inherit}.footer-divider{opacity:.5}.footer-icp,.footer-license{color:var(--color-meta);border-bottom:none;font-size:12px;transition:color .2s ease}.footer-icp:hover,.footer-license:hover{color:var(--color-text-strong)}.footer-meta{font-family:var(--font-family-mono);font-size:11px;letter-spacing:.05em;opacity:.7}@media(max-width:768px){.site-footer{margin-top:60px;padding-top:30px}.footer-main{flex-direction:column;align-items:center;text-align:center;gap:20px}.footer-brand{align-items:center}.footer-links{justify-content:center;gap:16px}.footer-bottom{flex-direction:column;text-align:center;gap:12px;padding-top:20px;border-top:1px solid var(--color-border)}.footer-copyright{flex-wrap:wrap;justify-content:center;gap:6px 8px}.footer-divider{display:none}.footer-copyright span{display:inline}.footer-copyright .footer-license,.footer-copyright .footer-icp{margin:0 4px}}.pagination-nav{margin:50px 0 20px;display:flex;justify-content:center;text-align:center}.pagination-links{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:none;border-radius:999px;background:transparent;box-shadow:none;backdrop-filter:none;transition:background .2s ease,box-shadow .2s ease,backdrop-filter .2s ease}.pagination-nav:hover .pagination-links,.pagination-nav:focus-within .pagination-links{background:transparent;box-shadow:none;backdrop-filter:none;border:none}.pagination-link{display:inline-flex;align-items:center;justify-content:center;border:none;padding:6px 14px;border-radius:4px;font-size:.85em;font-weight:500;color:var(--color-text);text-transform:uppercase;letter-spacing:.08em;transition:color .2s ease,background-color .2s ease}.pagination-nav:hover .pagination-link:hover,.pagination-link:focus-visible{color:var(--color-text-strong);background-color:var(--color-code-bg);outline:none}.pagination-link.is-disabled{opacity:.45;color:var(--color-meta);cursor:not-allowed;pointer-events:none}.pagination-status{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:.75em;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);cursor:pointer;border-radius:16px;padding:8px 18px;transition:color .2s ease,background-color .2s ease;text-align:center}.pagination-status:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.pagination-status-text{pointer-events:none}.pagination-quickjump{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%) translateY(8px);min-width:220px;max-width:280px;padding:16px;border-radius:18px;background:var(--color-background);border:1px solid var(--color-border);box-shadow:0 20px 50px #0f0f0f1f;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:5}.pagination-quickjump:after,.pagination-quickjump:before{content:"";position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.pagination-quickjump:after{bottom:-13px;border-width:13px 15px 0 15px;border-style:solid;border-color:var(--color-border) transparent transparent transparent;z-index:0}.pagination-quickjump:before{bottom:-12px;border-width:12px 14px 0 14px;border-style:solid;border-color:var(--color-background) transparent transparent transparent;z-index:1}.pagination-status:hover .pagination-quickjump,.pagination-status:focus-within .pagination-quickjump,.pagination-status.is-open .pagination-quickjump{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}@media(max-width:640px){.pagination-nav{margin-top:24px;margin-bottom:12px}.pagination-links{flex-wrap:nowrap;flex-direction:row;align-items:center;column-gap:8px;padding:8px 10px;border-radius:999px;max-width:92%;margin:0 auto}.pagination-link{flex:0 0 auto;justify-content:center;padding:6px 10px;font-size:.82em;letter-spacing:.06em}.pagination-status{order:0;padding:4px 8px;font-size:.78em}.pagination-quickjump{min-width:180px;max-width:calc(100vw - 40px)}}.pagination-quickjump-header{font-size:.7em;letter-spacing:.2em;color:var(--color-text-subtle);text-transform:uppercase;margin-bottom:12px}.pagination-numbers{display:flex;flex-wrap:wrap;gap:8px}.pagination-number{min-width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.85em;color:var(--color-text);border:1px solid transparent;text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.pagination-number:hover,.pagination-number:focus-visible{border-color:var(--color-border);background-color:var(--color-code-bg);outline:none}.pagination-number.current{color:var(--color-background);background-color:var(--color-text-strong);border-color:var(--color-text-strong);cursor:default}.archive-pagination .pagination-links{--archive-capsule-spacing: 14px;padding:var(--archive-capsule-spacing);gap:calc(var(--archive-capsule-spacing) + 4px)}@media(max-width:600px){.pagination-links{flex-direction:row;border-radius:999px;padding:12px;max-width:92%;margin:0 auto}.pagination-link{width:auto;justify-content:center;font-size:.82em;padding:6px 10px}.pagination-status{letter-spacing:.08em}}.post-list{list-style:none;padding:0;margin:0}.post-item{margin-bottom:38px}.post-title{font-size:24px;font-weight:500;margin-top:0;margin-bottom:6px}.post-title a{color:var(--color-text);border-bottom:none}.post-title a:hover{border-bottom:1px solid var(--color-text)}.post-meta{font-size:13px;color:var(--color-meta);margin-bottom:6px;margin-top:-2px;opacity:.7;line-height:1.4}.post-excerpt{font-size:16px;margin-bottom:12px;line-height:1.6}.read-more{display:inline-block;margin-top:15px;font-size:.9em;color:#111;text-decoration:none;border:1px solid var(--color-text);padding:8px 15px;transition:background-color .3s ease,color .3s ease}.read-more:hover{background-color:var(--color-text-strong);color:var(--color-background);border-color:var(--color-text-strong)}.post-full-header,.page-header{text-align:center;margin-bottom:50px}.post-full-title,.page-title{font-size:40px;font-weight:600;color:var(--color-text-strong);margin-top:0;margin-bottom:15px;line-height:1.3}.post-full-meta{font-size:14px;color:var(--color-meta)}.post-content,.page-content{font-size:18px;line-height:var(--line-height-zh);letter-spacing:inherit;color:var(--color-text);text-wrap:pretty;hanging-punctuation:allow-end}.post-content{max-width:var(--measure-reading);margin:0 auto}.post-content>*:first-child,.page-content>*:first-child{margin-top:0}.post-content p,.page-content p{margin:1.2em 0}.post-content :lang(en),.page-content :lang(en){letter-spacing:var(--letter-spacing-latin)}.post-content :lang(zh),.page-content :lang(zh){letter-spacing:var(--letter-spacing-zh)}.post-content :lang(zh) p,.page-content :lang(zh) p{margin:calc(1.2em + 1px) 0}.post-content h2,.page-content h2,.post-content h3,.page-content h3,.post-content h4,.page-content h4{color:var(--color-text-strong);margin-top:2.4em;margin-bottom:1.1em;border:none;padding-bottom:.4em;position:relative;letter-spacing:.02em;text-decoration-line:underline;text-decoration-thickness:.14em;text-underline-offset:.5em;text-decoration-color:var(--color-border);text-decoration-skip-ink:auto}.post-content h2,.page-content h2{font-size:1.55em}.post-content h3,.page-content h3{font-size:1.3em}.post-content h4,.page-content h4{font-size:1.1em;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-subtle)}.page-content h2{margin-top:1.5em;margin-bottom:.7em}.post-content blockquote,.page-content blockquote{margin:2.4em auto;padding:1.2em 1.5em;color:var(--color-text-subtle);border-left:4px solid var(--color-border);background:linear-gradient(135deg,#00000005,#0000000a);border-radius:8px}.post-content blockquote p,.page-content blockquote p{margin:.6em 0}.post-content .markdown-alert,.page-content .markdown-alert{margin:2em 0;padding:1em 1.25em;border-left:4px solid;border-radius:6px;background:var(--color-bg)}.post-content .markdown-alert-title,.page-content .markdown-alert-title{margin:0 0 .5em;font-weight:600;font-size:.95em;display:flex;align-items:center;gap:.5em}.post-content .markdown-alert-title svg.octicon,.page-content .markdown-alert-title svg.octicon{flex-shrink:0;vertical-align:text-bottom;fill:currentColor}.post-content .markdown-alert p,.page-content .markdown-alert p{margin:.5em 0}.post-content .markdown-alert p:first-of-type,.page-content .markdown-alert p:first-of-type{margin-top:0}.post-content .markdown-alert p:last-of-type,.page-content .markdown-alert p:last-of-type{margin-bottom:0}.post-content .markdown-alert-note,.page-content .markdown-alert-note{border-left-color:#0969da;background:#0969da0d}.post-content .markdown-alert-note .markdown-alert-title,.page-content .markdown-alert-note .markdown-alert-title{color:#0969da}.post-content .markdown-alert-note .markdown-alert-title svg,.page-content .markdown-alert-note .markdown-alert-title svg{fill:#0969da}.post-content .markdown-alert-tip,.page-content .markdown-alert-tip{border-left-color:#1a7f37;background:#1a7f370d}.post-content .markdown-alert-tip .markdown-alert-title,.page-content .markdown-alert-tip .markdown-alert-title{color:#1a7f37}.post-content .markdown-alert-tip .markdown-alert-title svg,.page-content .markdown-alert-tip .markdown-alert-title svg{fill:#1a7f37}.post-content .markdown-alert-important,.page-content .markdown-alert-important{border-left-color:#8250df;background:#8250df0d}.post-content .markdown-alert-important .markdown-alert-title,.page-content .markdown-alert-important .markdown-alert-title{color:#8250df}.post-content .markdown-alert-important .markdown-alert-title svg,.page-content .markdown-alert-important .markdown-alert-title svg{fill:#8250df}.post-content .markdown-alert-warning,.page-content .markdown-alert-warning{border-left-color:#9a6700;background:#9a67000d}.post-content .markdown-alert-warning .markdown-alert-title,.page-content .markdown-alert-warning .markdown-alert-title{color:#9a6700}.post-content .markdown-alert-warning .markdown-alert-title svg,.page-content .markdown-alert-warning .markdown-alert-title svg{fill:#9a6700}.post-content .markdown-alert-caution,.page-content .markdown-alert-caution{border-left-color:#cf222e;background:#cf222e0d}.post-content .markdown-alert-caution .markdown-alert-title,.page-content .markdown-alert-caution .markdown-alert-title{color:#cf222e}.post-content .markdown-alert-caution .markdown-alert-title svg,.page-content .markdown-alert-caution .markdown-alert-title svg{fill:#cf222e}.post-content hr,.page-content hr{border:none;border-top:1px solid var(--color-border);margin:3em 0;width:100%}.post-content code,.page-content code{font-family:var(--font-family-mono);background-color:#1111110f;padding:.1em .35em;border-radius:.35em;font-size:.95em}.post-content pre,.page-content pre{background-color:var(--color-code-bg);padding:1.2em 1.4em;overflow-x:auto;font-family:var(--font-family-mono);font-size:.9em;border-radius:10px;border:1px solid var(--color-border);line-height:1.7;margin:2.2em auto;tab-size:2;box-shadow:0 8px 20px #0f0f0f08;position:relative}.post-content pre.has-copy-btn,.page-content pre.has-copy-btn{padding-top:3.2em}.post-content pre code,.page-content pre code{font-family:inherit;background:none;padding:0}.copy-code-btn{position:absolute;top:12px;right:12px;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:5px 12px;font-size:11px;letter-spacing:.04em;text-transform:none;color:var(--color-text);background-color:#ffffff47;backdrop-filter:blur(4px);cursor:pointer;opacity:.78;transition:border-color .2s ease,color .2s ease,background-color .2s ease,opacity .2s ease,box-shadow .2s ease}.copy-code-btn:hover{color:var(--color-text-strong);border-color:#0000001f;background-color:#ffffff80;opacity:1}.copy-code-btn:focus-visible{outline:none;color:var(--color-text-strong);border-color:#00000040;background-color:#ffffffe6;opacity:1;box-shadow:0 0 0 2px #11111114}.copy-code-btn__text{font-weight:600;display:inline-block;transition:opacity .18s ease,transform .18s ease}.copy-code-btn__text--transition{opacity:0;transform:translateY(-3px)}@media(prefers-reduced-motion:reduce){.copy-code-btn__text{transition:none}.copy-code-btn__text--transition{opacity:1;transform:none}}.copy-toast{position:fixed;right:30px;bottom:30px;background:#000000d9;color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;letter-spacing:.05em;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;z-index:200;pointer-events:none}.copy-toast.visible{opacity:1;transform:translateY(0)}.copy-toast:empty{display:none}.post-content kbd,.page-content kbd{font-family:var(--font-family-mono);border:1px solid var(--color-border);border-radius:4px;padding:.1em .4em;background-color:#0000000a;font-size:.85em;box-shadow:inset 0 -1px #0000001a}.post-content mark,.page-content mark{background-color:#fff1b8;padding:0 .2em;border-radius:.2em}.post-content table,.page-content table{width:100%;border-collapse:collapse;margin:2.4em 0;font-size:.95em}.post-content th,.post-content td,.page-content th,.page-content td{border:1px solid var(--color-border);padding:.8em 1em;text-align:left}.post-content thead th,.page-content thead th{background-color:#00000005;font-weight:600}.post-content .mermaid,.page-content .mermaid{margin:2em auto;text-align:center;background-color:var(--color-background);padding:1.5em;border-radius:4px}.post-content pre.language-mermaid,.page-content pre.language-mermaid{background-color:transparent;padding:0;border:none}.post-content .mermaid-zoomable,.page-content .mermaid-zoomable{cursor:zoom-in;position:relative}.post-content .mermaid-zoomable:after,.page-content .mermaid-zoomable:after{content:"\70b9\51fb\653e\5927\67e5\770b";position:absolute;left:50%;bottom:.75rem;transform:translate(-50%,4px);padding:.25rem .6rem;font-size:.75rem;line-height:1.2;border-radius:999px;background:#000000b8;color:#fff;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.post-content .mermaid-zoomable:hover:after,.page-content .mermaid-zoomable:hover:after,.post-content .mermaid-zoomable:focus-visible:after,.page-content .mermaid-zoomable:focus-visible:after{opacity:1;transform:translate(-50%)}.mermaid-zoom-overlay{position:fixed;inset:0;z-index:200;display:none;justify-content:center;align-items:center;padding:0}.mermaid-zoom-overlay.is-open{display:block;display:flex}.mermaid-zoom-backdrop{position:absolute;inset:0;background:#09090bbf;backdrop-filter:blur(6px)}.mermaid-zoom-dialog{position:relative;z-index:1;width:100%;max-width:100vw;max-height:100vh;margin:0;background:var(--color-background);border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column}.mermaid-zoom-close{position:absolute;top:.9rem;right:.9rem;width:2rem;height:2rem;border-radius:999px;border:none;background:#0f172a0f;color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:background .18s ease,transform .18s ease}.mermaid-zoom-close:hover,.mermaid-zoom-close:focus-visible{background:#0f172a1f;transform:translateY(-1px)}.mermaid-zoom-content{margin-top:0;flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:center;justify-content:center;padding:48px 0;scrollbar-width:none}.mermaid-zoom-content::-webkit-scrollbar{display:none}.mermaid-zoom-content svg,.mermaid-zoom-content .mermaid{max-width:100%;max-height:100%;width:auto;height:auto}html.mermaid-zoom-open{overflow:hidden}.post-content ul,.page-content ul{padding-left:1.5em}.post-content ul li::marker,.page-content ul li::marker{color:var(--color-meta);font-size:1.1em}.post-content ol,.page-content ol{padding-left:2.6em}.post-content ol li::marker,.page-content ol li::marker{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}code[class*=language-],pre[class*=language-]{color:#2d2d2d;background:var(--color-code-bg);text-shadow:none;font-family:var(--font-family-mono)}.post-content pre[class*=language-],.page-content pre[class*=language-]{padding:1.4em 1.6em;margin:2.2em auto}.post-content pre[class*=language-]::-webkit-scrollbar,.page-content pre[class*=language-]::-webkit-scrollbar{height:8px}.post-content pre[class*=language-]::-webkit-scrollbar-thumb,.page-content pre[class*=language-]::-webkit-scrollbar-thumb{background-color:#1113;border-radius:10px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8a93a6}.token.punctuation{color:#5c5f66}.token.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#d15757}.token.boolean,.token.number{color:#ae81ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#4caf8c}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#bc7bff}.token.atrule,.token.attr-value,.token.keyword{color:#2876d9}.token.function,.token.class-name{color:#d9901a}.token.regex,.token.important,.token.variable{color:#f06292}.token.bold{font-weight:600}.token.italic{font-style:italic}.token.entity{cursor:help}.post-content figure,.page-content figure{margin:3em auto;max-width:640px}.post-content figure.full-width,.page-content figure.full-width{max-width:100%}.post-content img,.page-content img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:4px}.post-content figcaption,.page-content figcaption{font-size:14px;color:var(--color-meta);text-align:center;margin-top:.8em}.dynamic-gallery{display:grid;gap:4px;row-gap:4px;column-gap:4px;max-width:100%}.dynamic-gallery--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.dynamic-gallery__item{margin:0;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.dynamic-gallery img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.post-nav{display:flex;justify-content:space-between;margin-top:60px;padding-top:30px;border-top:1px solid var(--color-border);font-size:16px}.post-nav a{border-bottom:none;color:var(--color-text-subtle)}.floating-actions{position:fixed;bottom:30px;right:30px;z-index:100;display:flex;flex-direction:column;gap:10px;transition:opacity .2s ease}.action-btn{width:44px;height:44px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000014;transition:background-color .2s,border-color .2s}.action-btn:hover{background-color:var(--color-code-bg);border-color:var(--color-text-subtle)}.action-btn svg{width:20px;height:20px;stroke:var(--color-text-subtle)}.action-btn-search svg{width:20px;height:20px}.action-btn-search{order:-1;opacity:1;pointer-events:auto;width:44px;height:44px;transform:translateY(0);transition:transform .3s cubic-bezier(.25,.1,.25,1),background-color .2s,border-color .2s}.floating-actions:not(.visible) .action-btn-search{transform:translateY(98px)}.action-btn:not(.action-btn-search){opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,background-color .2s,border-color .2s}.floating-actions.visible .action-btn:not(.action-btn-search){opacity:1;transform:translateY(0);pointer-events:auto}.floating-actions:not(.visible){gap:10px}.is-short-article .floating-actions .action-btn:first-child{opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important;visibility:visible!important}.is-short-article #action-btn-top{display:none!important}.is-short-article .floating-actions:not(.visible) .action-btn-search{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}@media(prefers-reduced-motion:reduce){.action-btn{transition:background-color .2s,border-color .2s}.action-btn:not(.action-btn-search){transform:none;max-height:44px;opacity:1}}.is-search-open{overflow:hidden;padding-right:var(--scrollbar-compensation, 0px)}#floating-search-overlay{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 0;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:200;pointer-events:none}#floating-search-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.search-overlay-backdrop{position:absolute;inset:0;background:#0000008c}.search-overlay-content{position:relative;width:min(760px,100%);background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:20px 20px 12px;box-shadow:0 10px 40px #0003;z-index:1;max-height:calc(100vh - 80px);overflow:hidden}@supports (height: 100dvh){.search-overlay-content{max-height:calc(100dvh - 80px)}}.search-overlay-close{position:absolute;top:24px;right:24px;width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-background);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;z-index:2}.search-overlay-close:after{content:"";position:absolute;inset:-6px}.search-overlay-close:hover{background-color:var(--color-code-bg);border-color:var(--color-text-subtle)}#floating-search-overlay .archive-search,#floating-search-overlay .dynamic-search{display:block;max-width:none;margin:0}#floating-search-overlay .simple-search-results{position:static;max-height:calc(100vh - 200px);margin-top:12px;background-color:transparent;border:none;border-radius:0;box-shadow:none;overflow-y:auto;padding-bottom:0}@supports (height: 100dvh){#floating-search-overlay .simple-search-results{max-height:calc(100dvh - 200px)}}#floating-search-overlay .simple-search-form,#floating-search-overlay .simple-search-input-wrapper{position:relative;width:100%}#floating-search-overlay .simple-search-input{width:100%;padding:12px 36px 10px 32px;border:none;border-bottom:2px solid var(--color-border);border-radius:0;background-color:transparent;color:var(--color-text);font-size:15px;font-family:var(--font-family-sans);font-weight:400;line-height:1.5;transition:border-color .2s ease,color .2s ease,background-color .2s ease;outline:none;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23a0a0a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.65' y1='16.65' x2='21' y2='21'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:6px 50%;background-size:18px}#floating-search-overlay .simple-search-input:hover{background-color:transparent;border-bottom-color:var(--color-text-subtle)}#floating-search-overlay .simple-search-input:focus{background-color:transparent;border-bottom-color:var(--color-text)}#floating-search-overlay .simple-search-input::placeholder{color:var(--color-text-subtle);opacity:.3}#floating-search-overlay .simple-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle);opacity:.6;transition:opacity .2s ease,color .2s ease;z-index:10;pointer-events:auto}#floating-search-overlay .simple-search-clear:hover{opacity:1;color:var(--color-text)}#floating-search-overlay .simple-search-clear:focus-visible{outline:2px solid var(--color-text-subtle);outline-offset:2px;border-radius:4px;opacity:1}#floating-search-overlay .simple-search-clear svg{width:16px;height:16px;stroke:currentColor}#floating-search-overlay .simple-search-result{padding:16px;border-bottom:1px solid var(--color-border);transition:background-color .2s ease}#floating-search-overlay .simple-search-result:last-child{border-bottom:none}#floating-search-overlay .simple-search-result:hover{background-color:var(--color-code-bg)}#floating-search-overlay .simple-search-message{padding:12px 16px;color:var(--color-text-subtle);font-size:14px;text-align:center;border-bottom:1px solid var(--color-border)}#floating-search-overlay .simple-search-result-title{margin-bottom:8px}#floating-search-overlay .simple-search-result-title a{color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-link-underline);font-size:16px;font-weight:600;line-height:1.4;transition:color .2s ease,border-bottom-color .2s ease}#floating-search-overlay .simple-search-result-title a:hover{color:var(--color-text);border-bottom-color:var(--color-text)}#floating-search-overlay .simple-search-result-excerpt{color:var(--color-text-subtle);font-size:14px;line-height:1.6;margin-bottom:8px}#floating-search-overlay .simple-search-result-date{color:var(--color-text-subtle);font-size:12px;opacity:.7}#floating-search-overlay .simple-search-result mark{background-color:#ffeb3b66;color:inherit;padding:0 2px;border-radius:2px;font-weight:600}.toc-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 8px;border-bottom:none;flex-shrink:0;background-color:transparent;border-radius:0;position:sticky;top:0;z-index:1;transition:border-bottom .3s ease,background-color .3s ease}.post-toc-floating.preview .toc-header{border-bottom:1px solid rgba(0,0,0,.08);background-color:#ffffff80;border-radius:8px 8px 0 0}.toc-toggle-btn{width:24px;height:24px;background:none;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .2s;opacity:.6}.toc-toggle-btn:hover{opacity:1}.toc-toggle-btn svg{stroke:var(--color-text-subtle);width:16px;height:16px}.toc-toggle-btn-floating{position:fixed;top:50%;right:15px;transform:translateY(-50%);width:36px;height:36px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;cursor:pointer;z-index:100;transition:background-color .2s,border-color .2s,opacity .3s,visibility .3s;opacity:0;visibility:hidden;pointer-events:none}.toc-toggle-btn-floating.visible{opacity:1;visibility:visible;pointer-events:auto}.toc-toggle-btn-floating:hover{background-color:var(--color-code-bg);border-color:var(--color-text-subtle)}.toc-toggle-btn-floating svg{stroke:var(--color-text-subtle);width:18px;height:18px}.post-toc-floating{position:fixed;top:50%;right:15px;transform:translateY(-50%);width:260px;max-height:65vh;display:flex;flex-direction:column;background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none;font-size:14px;line-height:1.6;z-index:99;opacity:1;visibility:visible;transition:background-color .3s ease,backdrop-filter .3s ease,border .3s ease,box-shadow .3s ease,opacity .3s ease,visibility .3s ease,transform .3s ease;pointer-events:auto}.post-toc-floating.preview{background-color:#ffffffbf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05);border-radius:8px;box-shadow:0 2px 8px #0000000a}.post-toc-floating.visible{opacity:1;visibility:visible;transform:translateY(-50%)}.post-toc-floating.hidden{opacity:0;visibility:hidden;transform:translate(20px) translateY(-50%);pointer-events:none}.post-toc-floating.hidden.preview{opacity:1;visibility:visible;transform:translateY(-50%);pointer-events:auto;background-color:#ffffffbf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05);border-radius:8px;box-shadow:0 2px 8px #0000000a}.toc-title{font-weight:600;color:var(--color-text-strong);font-size:15px;margin:0}.toc-list{list-style:none;padding:0 20px 20px;margin:0;overflow-y:auto;flex:1;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.toc-list::-webkit-scrollbar{display:none}.toc-list li{margin-bottom:8px}.toc-list a{color:var(--color-text-subtle);border-bottom:none;display:block;padding:4px 0;transition:color .2s;text-decoration:none}.toc-list a:hover{color:var(--color-text-strong)}.toc-list a.active{color:var(--color-text-strong);font-weight:500}.toc-list>li.toc-h1>a{font-weight:600;padding-left:0;font-size:15px;color:var(--color-text-strong)}.toc-list>li>a{font-weight:500;padding-left:0}.toc-list>li>ul{list-style:none;padding-left:12px;margin-top:4px;margin-bottom:8px}.toc-list>li>ul>li>a{font-weight:400;font-size:13px;color:var(--color-meta)}.toc-list>li>ul>li>a:hover,.toc-list>li>ul>li>a.active{color:var(--color-text-subtle)}.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.footnote-preview{position:absolute;z-index:40;max-width:min(320px,calc(100vw - 32px));padding:12px 14px;border-radius:12px;border:1px solid var(--color-border);background-color:var(--color-background);box-shadow:0 18px 45px #0f0f0f1f;font-size:.85em;line-height:1.5;color:var(--color-text);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.footnote-preview.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.footnote-preview:before,.footnote-preview:after{content:"";position:absolute;left:50%;transform:translate(-50%);pointer-events:none;border-style:solid}.footnote-preview:before{border-width:10px 10px 0 10px;border-color:var(--color-border) transparent transparent transparent;bottom:-10px}.footnote-preview:after{border-width:9px 9px 0 9px;border-color:var(--color-background) transparent transparent transparent;bottom:-9px}.footnote-preview[data-placement=bottom]:before{bottom:auto;top:-10px;border-width:0 10px 10px 10px;border-color:transparent transparent var(--color-border) transparent}.footnote-preview[data-placement=bottom]:after{bottom:auto;top:-9px;border-width:0 9px 9px 9px;border-color:transparent transparent var(--color-background) transparent}.footnote-preview mark{background-color:#fde047;padding:0 .2em}.footnote-target-highlight{animation:footnote-target-highlight 1.4s ease}@keyframes footnote-target-highlight{0%{background-color:#ffeba7e6;box-shadow:0 0 0 6px #ffeba733}to{background-color:transparent;box-shadow:none}}.post-content .footnote-ref,.page-content .footnote-ref{font-size:.85em;vertical-align:super;line-height:0}.post-content .footnote-ref a,.page-content .footnote-ref a{color:var(--color-text-subtle);border-bottom:none;text-decoration:none;padding:0 2px;border-radius:2px;transition:color .2s ease,background-color .2s ease}.post-content .footnote-ref a:hover,.page-content .footnote-ref a:focus-visible{color:var(--color-text-strong);background-color:var(--color-code-bg)}.post-content .footnotes-sep,.page-content .footnotes-sep{border:none;border-top:1px solid var(--color-border);margin:3em 0 2em}.post-content .footnotes,.page-content .footnotes{margin-top:3em;padding-top:2em;font-size:.9em;color:var(--color-text-subtle)}.post-content .footnotes-list,.page-content .footnotes-list{list-style:none;padding:0;margin:0}.post-content .footnote-item,.page-content .footnote-item{margin-bottom:1em;padding-left:1.5em;position:relative}.post-content .footnote-item:before,.page-content .footnote-item:before{content:counter(footnote-counter);counter-increment:footnote-counter;position:absolute;left:0;color:var(--color-text-subtle);font-weight:600}.post-content .footnotes-list,.page-content .footnotes-list{counter-reset:footnote-counter}.post-content .footnote-backref,.page-content .footnote-backref{color:var(--color-text-subtle);border-bottom:none;text-decoration:none;margin-left:.5em;font-size:1.2em;line-height:0;vertical-align:baseline;transition:color .2s ease}.post-content .footnote-backref:hover,.page-content .footnote-backref:focus-visible{color:var(--color-text-strong)}.post-content details,.page-content details{margin:1.5em 0;padding:1em;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-code-bg)}.post-content details summary,.page-content details summary{cursor:pointer;font-weight:600;color:var(--color-text-strong);user-select:none;list-style:none;position:relative;padding:.5em 0 .5em 1.5em}.post-content details summary::-webkit-details-marker,.page-content details summary::-webkit-details-marker{display:none}.post-content details summary:before,.page-content details summary:before{content:"\25b6";position:absolute;left:0;font-size:.8em;transition:transform .2s ease;color:var(--color-text-subtle)}.post-content details[open] summary:before,.page-content details[open] summary:before{transform:rotate(90deg)}.post-content details[open] summary,.page-content details[open] summary{margin-bottom:.5em}.post-content details>*:not(summary),.page-content details>*:not(summary){margin-top:.5em}.post-content input[type=checkbox],.page-content input[type=checkbox]{margin-right:.5em;cursor:pointer;accent-color:var(--color-text-strong)}.post-content li:has(input[type=checkbox]),.page-content li:has(input[type=checkbox]){list-style:none;padding-left:0}.post-content li:has(input[type=checkbox])::marker,.page-content li:has(input[type=checkbox])::marker{display:none}.post-content dl,.page-content dl{margin:1.5em 0}.post-content dt,.page-content dt{font-weight:600;color:var(--color-text-strong);margin-top:1em;margin-bottom:.3em}.post-content dt:first-child,.page-content dt:first-child{margin-top:0}.post-content dd,.page-content dd{margin-left:1.5em;margin-bottom:.5em;color:var(--color-text)}.post-content abbr,.page-content abbr{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.2em;cursor:help;border-bottom:none}.page-404{padding:0 0 40px;margin-top:-42px}.page-404__terminal{display:block}.page-404 .terminal-window{width:100%;max-width:none;background:transparent;border-radius:0;border:none;box-shadow:none;overflow:visible;display:flex;flex-direction:column}.page-404 .terminal-header{display:flex;align-items:center;gap:8px;padding:0 0 8px;background:transparent;border-bottom:1px solid rgba(0,0,0,.05)}.page-404 .terminal-header__dots{display:flex;gap:6px}.page-404 .dot{width:10px;height:10px;border-radius:50%;display:block;opacity:.8}.page-404 .dot-red{background-color:#fb7185}.page-404 .dot-yellow{background-color:#fbbf24}.page-404 .dot-green{background-color:#22c55e}.page-404 .terminal-title{margin:0;color:var(--color-text-subtle);font-size:12px;letter-spacing:.08em;text-transform:lowercase;font-family:var(--font-family-mono)}.page-404 .terminal-body{padding:24px 0 0;min-height:0;font-family:var(--font-family-mono);color:var(--color-text);background:transparent;line-height:1.6}.page-404 .prompt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.page-404 .user{color:#3b82f6}.page-404 .path{color:#14b8a6}.page-404 .cmd{color:var(--color-text-strong)}.page-404 .output{color:var(--color-meta);font-size:14px;margin-bottom:18px}.page-404 .error-text{color:#e03131;font-weight:600}.page-404 .typewriter{min-height:24px;margin-bottom:22px}.page-404__suggestions .comment{display:block;color:var(--color-meta);margin-bottom:14px;font-size:15px}.page-404__suggestions .command-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:10px}.page-404__suggestions li a{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-family-mono);color:var(--color-text);text-decoration:none;border-bottom:1px solid transparent;padding:2px 0;transition:color .2s ease,border-color .2s ease}.page-404__suggestions li a:hover,.page-404__suggestions li a:focus-visible{color:var(--color-text-strong);border-bottom-color:#fff3}.page-404__suggestions .arrow{color:var(--color-accent, #22c55e);font-size:16px}.page-404__suggestions .link-cmd{color:var(--color-text-strong);font-weight:600}.page-404__suggestions .link-desc{color:var(--color-meta);margin-left:4px;white-space:nowrap}.page-404 .hidden{opacity:0;pointer-events:none;transition:opacity .4s ease}.page-404 .visible{opacity:1;pointer-events:auto}.page-404 .cursor{display:inline-block;width:10px;height:16px;background-color:var(--color-text);animation:page404-blink 1s step-end infinite;margin-left:6px}@keyframes page404-blink{0%,to{opacity:1}50%{opacity:0}}.page-404 .prompt input{border:none;background:transparent}@media(max-width:640px){.page-404{padding:0 0 30px;margin-top:-20px}.page-404 .terminal-body{padding-top:18px;font-size:14px}}@media(max-width:1200px){.post-toc-floating{display:none!important}}@media(max-width:600px){.container{padding:20px 15px}.site-header{flex-direction:column;align-items:flex-start;margin-bottom:30px}.site-title{margin-bottom:10px}.site-nav{margin-left:-5px}.site-nav a{margin:0 10px 0 0}.post-title{font-size:22px}.post-excerpt{font-size:16px}.post-full-title,.page-title{font-size:30px}.post-content,.page-content{font-size:17px}}.home-intro{text-align:left;margin-bottom:60px;padding-bottom:30px}.home-intro h1{font-size:3em;font-weight:700;margin-bottom:.2em;letter-spacing:-.02em;margin-top:0}.intro-role{font-size:1.2em;color:var(--color-text-subtle);margin-bottom:1em;font-weight:500;margin-top:0}.intro-desc{font-size:1.1em;margin-bottom:.5em;max-width:600px;line-height:1.6}.intro-status{font-size:.95em;color:var(--color-meta);margin-top:1em;font-style:italic}.home-section{margin-bottom:80px}.home-section h2{font-size:1.4em;margin-bottom:30px;padding-bottom:10px;border-bottom:2px solid var(--color-text-strong);display:inline-block;margin-top:0}.simple-list{margin-top:10px}.simple-item{margin-bottom:15px;display:flex;align-items:baseline;gap:15px}.simple-item .post-title{font-size:1.1em;margin:0;font-weight:400}.simple-item .post-date{font-size:.9em;color:var(--color-meta);font-family:var(--font-family-mono);min-width:60px;flex-shrink:0}.home-footer-meta{margin-top:80px;padding-top:20px;border-top:1px solid var(--color-border);color:var(--color-meta);font-size:.9em;text-align:right;margin-bottom:40px}body.home-page .container{max-width:100%;padding:0 0 40px}body.home-page .site-header{max-width:none;padding:40px;position:sticky;top:0;z-index:30;background-color:#fff;margin-bottom:0;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .5s ease;will-change:transform}body.home-page .home-intro{max-width:1400px;margin:0 auto 60px;padding:40px 40px 30px}body.home-page .home-section,body.home-page .home-footer-meta,body.home-page .site-footer{max-width:var(--container-width);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}body.home-page .site-footer,body:has(.post-cover-fullwidth) .site-footer{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}body.home-page .home-section{margin-bottom:80px}@media(max-width:600px){body.home-page .site-header,body.home-page .home-intro{padding-left:20px;padding-right:20px}}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}.site-header-border{view-transition-name:site-header-border}.site-branding{view-transition-name:site-branding;width:fit-content}.site-nav{view-transition-name:site-nav;width:fit-content}::view-transition-group(site-header),::view-transition-group(site-branding),::view-transition-group(site-nav),::view-transition-group(site-header-border){animation-duration:.4s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-group(site-header-border){animation-duration:.4s;animation-timing-function:cubic-bezier(.4,0,.2,1);mix-blend-mode:normal}::view-transition-old(site-header-border){display:none}::view-transition-new(site-header-border){animation:none;opacity:1;height:100%;width:100%;object-fit:fill}.mobile-nav-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:10px;position:relative;color:var(--color-text);margin-left:10px;outline:none;-webkit-tap-highlight-color:transparent}.hamburger-box{width:24px;height:24px;display:inline-block;position:relative;vertical-align:middle}.hamburger-inner{display:block;top:50%;margin-top:-1px}.hamburger-inner,.hamburger-inner:before,.hamburger-inner:after{width:24px;height:2px;background-color:currentColor;border-radius:4px;position:absolute}.hamburger-inner:before,.hamburger-inner:after{content:"";display:block}.hamburger-inner:before{top:-8px}.hamburger-inner:after{bottom:-8px}.mobile-nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:2099;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-nav-overlay.is-visible{opacity:1;visibility:visible}.mobile-nav-sidebar{position:fixed;top:0;right:0;bottom:0;height:100dvh;width:280px;max-width:80vw;background-color:var(--color-background);z-index:2100;padding:24px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:-5px 0 25px #0000001a;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-left:1px solid var(--color-border);overflow-y:auto;visibility:hidden}.mobile-nav-sidebar.is-open{transform:translate(0);visibility:visible}.mobile-nav-close{background:transparent;border:none;cursor:pointer;padding:10px;margin:0 0 30px auto;color:var(--color-text);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;transition:background-color .2s}.mobile-nav-close:hover{background-color:var(--color-border)}.mobile-nav-sidebar a{display:block;width:100%;padding:12px 16px;font-size:16px;font-weight:500;color:var(--color-text);text-decoration:none;border-bottom:none;border-radius:8px;margin-bottom:8px;transition:background-color .2s ease,color .2s ease}.mobile-nav-sidebar a:hover,.mobile-nav-sidebar a[aria-current=page]{background-color:var(--color-code-bg);color:var(--color-text-strong)}body.no-scroll{overflow:hidden}@media(max-width:768px){.mobile-nav-toggle{display:block}.site-nav{display:none}.site-header{flex-direction:row;align-items:center;flex-wrap:nowrap;margin-bottom:30px;box-shadow:inset 0 -1px var(--color-border)}.site-title{margin-bottom:0}.site-header-border{display:none}.site-header,.site-header-border,.site-branding,.site-nav{view-transition-name:none!important}}.tag-page-container{margin-top:1.4em;margin-bottom:1.2em}.tag-post-list{list-style:none;padding:0;margin:0}.tag-post-item{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:baseline;padding:8px;border-radius:4px;transition:background-color .2s}.tag-post-item:hover{background-color:var(--color-code-bg)}.tag-post-date{color:var(--color-meta);font-size:.9em;opacity:.7;letter-spacing:.02em;font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}.tag-post-title{position:relative}.tag-post-title a{color:var(--color-text);font-weight:500;font-size:1em;line-height:1.5;border-bottom:none;position:relative;display:inline;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-skip-ink:none;transition:color .3s ease,text-decoration-color .3s ease}.tag-post-title a:hover{color:var(--color-text-strong);text-decoration-color:var(--color-text-strong)}.tag-post-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:2px 8px;font-size:.7em;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--color-background);background-color:var(--color-text-strong);border-radius:999px;vertical-align:middle;line-height:1}.tag-icon{color:var(--color-meta);font-weight:400;margin-right:.08em;opacity:.6}.tag-name{color:var(--color-text-strong)}.tag-description{color:var(--color-meta);font-size:.9em;margin-top:.5em}@media(max-width:600px){.tag-post-item{grid-template-columns:85px 1fr;gap:12px;padding:6px}}
