﻿:root{color-scheme:light;--color-emphasis-soft: var(--ui-bg-done-muted);--color-red-500: var(--color-danger);--surface-overlay-mask: var(--ui-overlay-backdrop);--color-ink-950: var(--color-bg-950);--color-ink-900: var(--color-bg-900);--color-ink-820: var(--color-bg-850);--color-ink-760: var(--color-bg-800);--color-paper-100: var(--text-primary);--color-paper-200: var(--text-secondary);--color-mist-300: var(--text-muted);--color-brass-400: var(--color-accent);--color-brass-500: var(--color-accent-hover);--color-sky-300: var(--color-info);--color-sky-200: var(--text-info);--color-sage-300: var(--color-success);--color-lilac-300: var(--color-info);--color-amber-300: var(--color-warning);--color-white: var(--text-primary);--color-dark: var(--color-bg-950);--font-sans-fallback: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-serif: "Anthropic Numeric", "Anthropic Serif Display", "LXGW Neo XiHei Screen Blog", "Songti SC", STSong, Georgia, serif;--font-sans: var(--font-sans-fallback);--font-code: "Source Code Pro Blog", "LXGW Neo XiHei Screen Blog", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-prose-mixed: var(--font-sans);--font-numeric: "Anthropic Numeric", var(--font-sans-fallback);--font-ui: var(--font-sans);--font-reading: var(--font-prose-mixed);--font-heading: var(--font-serif);--font-body: var(--font-sans);--font-title-mixed: var(--font-serif);--font-number: var(--font-numeric);--font-home: var(--font-sans);--font-handnote: var(--font-prose-mixed);--weight-regular: 400;--weight-medium: 500;--weight-strong: 600;--type-caption: 0.75rem;--type-label: 0.8125rem;--type-meta: 0.875rem;--type-body: 1rem;--type-body-large: 1.0625rem;--type-title: 1.25rem;--type-heading-small: clamp(1.25rem, 1.4vw, 1.375rem);--type-heading: clamp(1.5rem, 2vw, 1.75rem);--type-page-title: clamp(1.875rem, 3vw, 2.375rem);--type-display: clamp(2.75rem, 8vw, 6rem);--leading-tight: 1.25;--leading-title: 1.4;--leading-ui: 1.45;--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 14px;--space-8: 16px;--space-9: 18px;--space-10: 20px;--space-11: 22px;--space-12: 24px;--space-13: 26px;--space-14: 28px;--space-15: 30px;--space-16: 34px;--space-17: 38px;--space-18: 42px;--space-19: 44px;--radius-full: 999px;--motion-fast: 0.15s;--motion-normal: 0.2s;--motion-slow: 0.2s;--motion-explode: 0.5s;--motion-default: background-color var(--motion-slow) ease-out, color var(--motion-slow) ease-out, border-color var(--motion-slow) ease-out, box-shadow var(--motion-slow) ease-out}:root{--table-head-text: var(--text-heading);--table-border: var(--border-color);--code-dot-red: #ff5f57;--code-dot-yellow: #febc2e;--code-dot-green: #28c840;--code-copy-hover-text: var(--color-accent-hover);--code-copy-hover-bg: var(--color-accent-bg);--code-copy-success-text: var(--text-success);--code-theme-text: var(--text-muted);--blockquote-shadow: transparent;--blockquote-strong: var(--text-primary);--toc-bg: var(--surface-card);--toc-title-border: var(--border-color);--toc-shadow: oklch(10% 0.01 345 / 0.14)}:root{--summary-card-bg: var(--surface-card);--category-box-border: var(--border-color);--summary-card-hover-shadow: oklch(10% 0.01 345 / 0.22);--category-count-solved-text: var(--color-success);--category-count-total-text: var(--text-primary);--category-count-sep-text: var(--text-muted);--category-count-percent-text: var(--color-accent);--tag-chip-text: var(--text-info);--tag-chip-bg: var(--color-info-soft);--tag-chip-border: oklch(72% 0.065 240 / 0.24);--tag-chip-shadow: transparent;--tag-chip-hover-text: var(--text-primary);--tag-chip-hover-bg: oklch(34% 0.04 240);--tag-chip-hover-shadow: transparent;--tag-chip-compact-bg: var(--surface-raised);--tag-chip-compact-border: var(--border-color);--tag-chip-compact-shadow: transparent;--filter-chip-bg: var(--surface-raised);--filter-chip-border: var(--border-color);--filter-empty-title-text: var(--text-primary);--filter-empty-subtitle-text: var(--text-secondary);--archive-wrap-shadow: oklch(10% 0.01 345 / 0.14);--archive-year-btn-ring: oklch(80% 0.105 73 / 0.16);--pager-shell-bg: transparent;--pager-shell-border: transparent;--pager-shell-shadow: transparent;--pager-shell-highlight: transparent;--pager-btn-bg: transparent;--pager-btn-border: transparent;--pager-btn-text: var(--text-secondary);--pager-btn-hover-bg: var(--surface-card-hover);--pager-btn-hover-border: var(--border-color);--pager-btn-hover-shadow: var(--ui-shadow-resting);--pager-btn-active-bg: var(--color-accent-bg);--pager-btn-active-border: var(--color-accent);--pager-btn-active-text: var(--color-accent-hover);--pager-btn-active-shadow: transparent}:root{--button-bg: var(--theme-surface);--button-bg-hover: var(--theme-surface-subtle);--button-bg-active: var(--theme-control-active);--button-border: var(--theme-control-border);--button-border-hover: var(--theme-border-strong);--checkbox-checked: #0969da;--progress-color: var(--color-accent)}:root{--post-copyright-border: var(--color-accent);--post-copyright-shadow: transparent;--post-copyright-meta-text: var(--text-muted);--post-copyright-content-text: var(--text-primary);--post-copyright-content-hover-text: var(--color-accent)}:root{--leetcode-easy-text: #087565;--leetcode-medium-text: #885300;--leetcode-hard-text: #ba2441;--leetcode-easy-border: color-mix(in oklch, var(--color-success) 42%, var(--surface-card));--leetcode-easy-bg: #bdf2e6;--leetcode-medium-border: color-mix(in oklch, var(--color-warning) 42%, var(--surface-card));--leetcode-medium-bg: #ffe28a;--leetcode-hard-border: color-mix(in oklch, var(--color-danger) 38%, var(--surface-card));--leetcode-hard-bg: #ffcbd5;--leetcode-easy-badge-text: var(--leetcode-easy-text);--leetcode-easy-badge-bg: var(--leetcode-easy-bg);--leetcode-medium-badge-text: var(--leetcode-medium-text);--leetcode-medium-badge-bg: var(--leetcode-medium-bg);--leetcode-hard-badge-text: var(--leetcode-hard-text);--leetcode-hard-badge-bg: var(--leetcode-hard-bg)}@font-face{font-family:"Anthropic Serif Text";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicSerifVariable-Text.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:"Anthropic Serif Text";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicSerifVariable-TextItalic.woff2") format("woff2");font-weight:300 800;font-style:italic;font-display:swap}@font-face{font-family:"Anthropic Serif Display";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicSerif-Display-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Anthropic Serif Display";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicSerif-Display-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Anthropic Serif Display";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicSerif-Display-Semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Anthropic Serif Display";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicSerif-Display-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Anthropic Numeric";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicNumeric-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0030-0039}@font-face{font-family:"Anthropic Numeric";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicNumeric-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0030-0039}@font-face{font-family:"Anthropic Numeric";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicNumeric-Semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0030-0039}@font-face{font-family:"Anthropic Numeric";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/anthropic/AnthropicNumeric-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0030-0039}@font-face{font-family:"LXGW Neo XiHei Screen Blog";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/lxgw-neoxihei/LXGWNeoXiHeiScreen.woff2") format("woff2");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:"Source Code Pro Blog";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/source-code-pro/SourceCodePro-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Source Code Pro Blog";src:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/libs/fonts/source-code-pro/SourceCodePro-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}html,body{margin:0;overflow-x:hidden;font-size:100%;font-kerning:normal;font-optical-sizing:auto}.skip-link{position:fixed;z-index:10000;top:8px;left:8px;padding:8px 12px;border:1px solid var(--border-accent);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-link);font-size:var(--type-meta);font-weight:var(--weight-strong);line-height:var(--leading-ui);transform:translateY(calc(-100% - 12px));transition:transform .12s ease-out}.skip-link:focus{color:var(--text-link);transform:translateY(0)}.small,aside,small{font-size:var(--type-label);line-height:var(--leading-ui)}pre{tab-size:4;-moz-tab-size:4}hr{height:1px;border:none;border-top:1px dashed var(--border-hr)}.header-fonts{font-family:var(--font-heading),sans-serif;color:var(--text-heading);margin:0}a:hover,a:link,a:visited{text-decoration:none}b,strong{color:var(--text-strong);font-weight:var(--weight-strong)}b a,strong a{color:inherit}input:focus{outline:0;box-shadow:none}input::-ms-clear,input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none}input[type=checkbox]{appearance:none;display:inline-block;width:18px;height:18px;margin:0 8px 0 0;border:0;border-radius:0;background:var(--theme-muted);mask:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/squircle.svg") center/contain no-repeat;vertical-align:-0.125em;opacity:1}input[type=checkbox]:checked{background:var(--checkbox-checked);mask-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/square-check-big.svg")}input[type=checkbox]:focus-visible{background:var(--theme-ink)}h1,h2,h3,h4{line-height:var(--leading-title);font-family:var(--font-heading),sans-serif;font-weight:var(--weight-strong);font-kerning:normal;letter-spacing:0;text-rendering:optimizeLegibility;text-wrap:balance}h1,h2,h3{padding-top:.35em;padding-bottom:.35em;border-bottom:1px dashed var(--border-heading)}h1{font-size:var(--type-page-title);margin-top:34px;margin-bottom:12px}h2{font-size:var(--type-heading);margin-top:28px;margin-bottom:10px}h3{font-size:var(--type-heading-small);margin-top:22px;margin-bottom:9px}h4{font-size:var(--type-title);margin-top:18px;margin-bottom:7px}p,li,dd{text-wrap:pretty}:where(a,button,input,select,textarea,[role=button]):focus-visible{outline:none;box-shadow:var(--shadow-focus)}::selection{background:var(--surface-selection) !important;color:var(--text-selection) !important}::-moz-selection{background:var(--surface-selection) !important;color:var(--text-selection) !important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}a[href],button:not(:disabled),summary,[role=button]:not([aria-disabled=true]),[role=link]:not([aria-disabled=true]),[data-href]:not([aria-disabled=true]),[data-action]:not([aria-disabled=true]),[data-toggle]:not([aria-disabled=true]),[data-target]:not([aria-disabled=true]),[data-cursor=pointer]:not([aria-disabled=true]),.btn-menu,.btn-search,.back-to-top{cursor:pointer}[disabled],[aria-disabled=true],.disabled,.is-disabled{cursor:not-allowed}#page:after,#page:before{display:table;content:""}#page:after{clear:both}.article-inner{display:flow-root}.left{float:left;*display:inline}.right{float:right;*display:inline}.hidden{display:none}[hidden]{display:none !important}.filter-empty{display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:0;padding:34px 22px;border-radius:14px;border:none;background:rgba(0,0,0,0);box-shadow:none;text-align:center}.filter-empty-hero{display:flex;flex-direction:column;align-items:center;gap:6px}.filter-empty-title{font-size:15px;font-weight:var(--weight-strong);color:var(--filter-empty-title-text)}.filter-empty-subtitle{font-size:13px;color:var(--filter-empty-subtitle-text)}@media only screen and (max-width: 768px){.filter-empty{padding:22px 16px}.filter-empty-title{font-size:13px}}.emoji{display:inline-flex;align-items:center;gap:.3em;font-style:normal;line-height:1;vertical-align:middle;font-size:1em}.emoji::before{content:"";display:inline-block;background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0;width:1.5em;height:1.5em;transition:transform var(--motion-normal) ease}.emoji-2x::before{width:2em;height:2em}img.emoji{display:inline-block;object-fit:contain;width:1em;height:1em;vertical-align:middle;border:none;padding:0;margin:0 5px 0 0;transition:transform var(--motion-normal) ease}.emoji:hover::before,img.emoji:hover{transform:scale(1.2)}.douyin_emoji_douyin_1::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_1.png")}.douyin_emoji_douyin_10::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_10.png")}.douyin_emoji_douyin_100::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_100.png")}.douyin_emoji_douyin_101::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_101.png")}.douyin_emoji_douyin_102::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_102.png")}.douyin_emoji_douyin_103::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_103.png")}.douyin_emoji_douyin_104::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_104.png")}.douyin_emoji_douyin_105::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_105.png")}.douyin_emoji_douyin_106::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_106.png")}.douyin_emoji_douyin_107::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_107.png")}.douyin_emoji_douyin_108::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_108.png")}.douyin_emoji_douyin_109::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_109.png")}.douyin_emoji_douyin_11::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_11.png")}.douyin_emoji_douyin_110::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_110.png")}.douyin_emoji_douyin_111::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_111.png")}.douyin_emoji_douyin_112::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_112.png")}.douyin_emoji_douyin_113::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_113.png")}.douyin_emoji_douyin_114::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_114.png")}.douyin_emoji_douyin_115::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_115.png")}.douyin_emoji_douyin_116::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_116.png")}.douyin_emoji_douyin_117::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_117.png")}.douyin_emoji_douyin_118::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_118.png")}.douyin_emoji_douyin_119::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_119.png")}.douyin_emoji_douyin_12::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_12.png")}.douyin_emoji_douyin_120::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_120.png")}.douyin_emoji_douyin_121::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_121.png")}.douyin_emoji_douyin_122::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_122.png")}.douyin_emoji_douyin_123::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_123.png")}.douyin_emoji_douyin_124::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_124.png")}.douyin_emoji_douyin_125::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_125.png")}.douyin_emoji_douyin_126::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_126.png")}.douyin_emoji_douyin_127::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_127.png")}.douyin_emoji_douyin_128::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_128.png")}.douyin_emoji_douyin_129::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_129.png")}.douyin_emoji_douyin_13::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_13.png")}.douyin_emoji_douyin_130::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_130.png")}.douyin_emoji_douyin_131::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_131.png")}.douyin_emoji_douyin_132::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_132.png")}.douyin_emoji_douyin_133::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_133.png")}.douyin_emoji_douyin_134::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_134.png")}.douyin_emoji_douyin_135::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_135.png")}.douyin_emoji_douyin_136::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_136.png")}.douyin_emoji_douyin_137::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_137.png")}.douyin_emoji_douyin_138::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_138.png")}.douyin_emoji_douyin_139::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_139.png")}.douyin_emoji_douyin_14::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_14.png")}.douyin_emoji_douyin_140::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_140.png")}.douyin_emoji_douyin_141::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_141.png")}.douyin_emoji_douyin_142::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_142.png")}.douyin_emoji_douyin_143::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_143.png")}.douyin_emoji_douyin_144::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_144.png")}.douyin_emoji_douyin_145::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_145.png")}.douyin_emoji_douyin_146::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_146.png")}.douyin_emoji_douyin_147::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_147.png")}.douyin_emoji_douyin_148::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_148.png")}.douyin_emoji_douyin_15::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_15.png")}.douyin_emoji_douyin_16::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_16.png")}.douyin_emoji_douyin_17::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_17.png")}.douyin_emoji_douyin_18::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_18.png")}.douyin_emoji_douyin_19::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_19.png")}.douyin_emoji_douyin_2::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_2.png")}.douyin_emoji_douyin_20::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_20.png")}.douyin_emoji_douyin_21::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_21.png")}.douyin_emoji_douyin_22::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_22.png")}.douyin_emoji_douyin_23::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_23.png")}.douyin_emoji_douyin_24::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_24.png")}.douyin_emoji_douyin_25::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_25.png")}.douyin_emoji_douyin_26::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_26.png")}.douyin_emoji_douyin_27::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_27.png")}.douyin_emoji_douyin_28::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_28.png")}.douyin_emoji_douyin_29::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_29.png")}.douyin_emoji_douyin_3::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_3.png")}.douyin_emoji_douyin_30::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_30.png")}.douyin_emoji_douyin_31::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_31.png")}.douyin_emoji_douyin_32::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_32.png")}.douyin_emoji_douyin_33::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_33.png")}.douyin_emoji_douyin_34::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_34.png")}.douyin_emoji_douyin_35::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_35.png")}.douyin_emoji_douyin_36::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_36.png")}.douyin_emoji_douyin_37::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_37.png")}.douyin_emoji_douyin_38::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_38.png")}.douyin_emoji_douyin_39::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_39.png")}.douyin_emoji_douyin_4::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_4.png")}.douyin_emoji_douyin_40::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_40.png")}.douyin_emoji_douyin_41::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_41.png")}.douyin_emoji_douyin_42::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_42.png")}.douyin_emoji_douyin_43::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_43.png")}.douyin_emoji_douyin_44::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_44.png")}.douyin_emoji_douyin_45::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_45.png")}.douyin_emoji_douyin_46::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_46.png")}.douyin_emoji_douyin_47::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_47.png")}.douyin_emoji_douyin_48::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_48.png")}.douyin_emoji_douyin_49::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_49.png")}.douyin_emoji_douyin_5::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_5.png")}.douyin_emoji_douyin_50::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_50.png")}.douyin_emoji_douyin_51::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_51.png")}.douyin_emoji_douyin_52::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_52.png")}.douyin_emoji_douyin_53::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_53.png")}.douyin_emoji_douyin_54::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_54.png")}.douyin_emoji_douyin_55::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_55.png")}.douyin_emoji_douyin_56::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_56.png")}.douyin_emoji_douyin_57::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_57.png")}.douyin_emoji_douyin_58::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_58.png")}.douyin_emoji_douyin_59::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_59.png")}.douyin_emoji_douyin_6::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_6.png")}.douyin_emoji_douyin_60::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_60.png")}.douyin_emoji_douyin_61::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_61.png")}.douyin_emoji_douyin_62::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_62.png")}.douyin_emoji_douyin_63::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_63.png")}.douyin_emoji_douyin_64::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_64.png")}.douyin_emoji_douyin_65::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_65.png")}.douyin_emoji_douyin_66::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_66.png")}.douyin_emoji_douyin_67::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_67.png")}.douyin_emoji_douyin_68::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_68.png")}.douyin_emoji_douyin_69::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_69.png")}.douyin_emoji_douyin_7::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_7.png")}.douyin_emoji_douyin_70::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_70.png")}.douyin_emoji_douyin_71::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_71.png")}.douyin_emoji_douyin_72::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_72.png")}.douyin_emoji_douyin_73::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_73.png")}.douyin_emoji_douyin_74::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_74.png")}.douyin_emoji_douyin_75::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_75.png")}.douyin_emoji_douyin_76::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_76.png")}.douyin_emoji_douyin_77::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_77.png")}.douyin_emoji_douyin_78::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_78.png")}.douyin_emoji_douyin_79::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_79.png")}.douyin_emoji_douyin_8::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_8.png")}.douyin_emoji_douyin_80::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_80.png")}.douyin_emoji_douyin_81::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_81.png")}.douyin_emoji_douyin_82::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_82.png")}.douyin_emoji_douyin_83::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_83.png")}.douyin_emoji_douyin_84::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_84.png")}.douyin_emoji_douyin_85::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_85.png")}.douyin_emoji_douyin_86::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_86.png")}.douyin_emoji_douyin_87::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_87.png")}.douyin_emoji_douyin_88::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_88.png")}.douyin_emoji_douyin_89::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_89.png")}.douyin_emoji_douyin_9::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_9.png")}.douyin_emoji_douyin_90::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_90.png")}.douyin_emoji_douyin_91::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_91.png")}.douyin_emoji_douyin_92::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_92.png")}.douyin_emoji_douyin_93::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_93.png")}.douyin_emoji_douyin_94::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_94.png")}.douyin_emoji_douyin_95::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_95.png")}.douyin_emoji_douyin_96::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_96.png")}.douyin_emoji_douyin_97::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_97.png")}.douyin_emoji_douyin_98::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_98.png")}.douyin_emoji_douyin_99::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/douyin/emoji_douyin_99.png")}.lark_emoji_bomb::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_bomb.png")}.lark_emoji_checkmark::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_checkmark.png")}.lark_emoji_crossmark::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_crossmark.png")}.lark_emoji_done::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_done.png")}.lark_emoji_drool::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_drool.png")}.lark_emoji_dull::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_dull.png")}.lark_emoji_errr::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_errr.png")}.lark_emoji_fighton::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_fighton.png")}.lark_emoji_fingerheart::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_fingerheart.png")}.lark_emoji_fire::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_fire.png")}.lark_emoji_fistbump::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_fistbump.png")}.lark_emoji_generaldonotdisturb::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_generaldonotdisturb.png")}.lark_emoji_generalmoonrest::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_generalmoonrest.png")}.lark_emoji_get::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_get.png")}.lark_emoji_grin::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_grin.png")}.lark_emoji_heart::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_heart.png")}.lark_emoji_hundred::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_hundred.png")}.lark_emoji_innocentsmile::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_innocentsmile.png")}.lark_emoji_lemon::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_lemon.png")}.lark_emoji_love::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_love.png")}.lark_emoji_luck::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_luck.png")}.lark_emoji_meeting::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_meeting.png")}.lark_emoji_mememe::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_mememe.png")}.lark_emoji_minusone::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_minusone.png")}.lark_emoji_no::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_no.png")}.lark_emoji_ok::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_ok.png")}.lark_emoji_party::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_party.png")}.lark_emoji_pin::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_pin.png")}.lark_emoji_plusone::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_plusone.png")}.lark_emoji_praise::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_praise.png")}.lark_emoji_rose::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_rose.png")}.lark_emoji_slap::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_slap.png")}.lark_emoji_smirk::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_smirk.png")}.lark_emoji_socool::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_socool.png")}.lark_emoji_speechless::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_speechless.png")}.lark_emoji_statusreading::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_statusreading.png")}.lark_emoji_strive::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_strive.png")}.lark_emoji_thanks::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_thanks.png")}.lark_emoji_thinking::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_thinking.png")}.lark_emoji_thumbsdown::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_thumbsdown.png")}.lark_emoji_thumbsup::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_thumbsup.png")}.lark_emoji_toasted::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_toasted.png")}.lark_emoji_tongue::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_tongue.png")}.lark_emoji_trophy::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_trophy.png")}.lark_emoji_what::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_what.png")}.lark_emoji_witty::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_witty.png")}.lark_emoji_yes::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_yes.png")}.lark_emoji_youarethebest::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/lark/emoji_youarethebest.png")}.nowcoder_emoji_nowcoder_1::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_1.png")}.nowcoder_emoji_nowcoder_10::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_10.png")}.nowcoder_emoji_nowcoder_11::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_11.png")}.nowcoder_emoji_nowcoder_12::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_12.png")}.nowcoder_emoji_nowcoder_13::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_13.png")}.nowcoder_emoji_nowcoder_14::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_14.png")}.nowcoder_emoji_nowcoder_15::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_15.png")}.nowcoder_emoji_nowcoder_16::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_16.png")}.nowcoder_emoji_nowcoder_17::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_17.png")}.nowcoder_emoji_nowcoder_18::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_18.png")}.nowcoder_emoji_nowcoder_2::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_2.png")}.nowcoder_emoji_nowcoder_3::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_3.png")}.nowcoder_emoji_nowcoder_4::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_4.png")}.nowcoder_emoji_nowcoder_5::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_5.png")}.nowcoder_emoji_nowcoder_6::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_6.png")}.nowcoder_emoji_nowcoder_7::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_7.png")}.nowcoder_emoji_nowcoder_8::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_8.png")}.nowcoder_emoji_nowcoder_9::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/nowcoder/emoji_nowcoder_9.png")}.xhs_emoji_xhs_1::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_1.png")}.xhs_emoji_xhs_10::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_10.png")}.xhs_emoji_xhs_11::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_11.png")}.xhs_emoji_xhs_12::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_12.png")}.xhs_emoji_xhs_13::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_13.png")}.xhs_emoji_xhs_14::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_14.png")}.xhs_emoji_xhs_15::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_15.png")}.xhs_emoji_xhs_16::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_16.png")}.xhs_emoji_xhs_17::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_17.png")}.xhs_emoji_xhs_18::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_18.png")}.xhs_emoji_xhs_19::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_19.png")}.xhs_emoji_xhs_2::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_2.png")}.xhs_emoji_xhs_20::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_20.png")}.xhs_emoji_xhs_21::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_21.png")}.xhs_emoji_xhs_22::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_22.png")}.xhs_emoji_xhs_23::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_23.png")}.xhs_emoji_xhs_24::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_24.png")}.xhs_emoji_xhs_25::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_25.png")}.xhs_emoji_xhs_26::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_26.png")}.xhs_emoji_xhs_27::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_27.png")}.xhs_emoji_xhs_28::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_28.png")}.xhs_emoji_xhs_29::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_29.png")}.xhs_emoji_xhs_3::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_3.png")}.xhs_emoji_xhs_30::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_30.png")}.xhs_emoji_xhs_31::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_31.png")}.xhs_emoji_xhs_32::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_32.png")}.xhs_emoji_xhs_33::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_33.png")}.xhs_emoji_xhs_34::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_34.png")}.xhs_emoji_xhs_35::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_35.png")}.xhs_emoji_xhs_36::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_36.png")}.xhs_emoji_xhs_37::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_37.png")}.xhs_emoji_xhs_38::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_38.png")}.xhs_emoji_xhs_39::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_39.png")}.xhs_emoji_xhs_4::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_4.png")}.xhs_emoji_xhs_40::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_40.png")}.xhs_emoji_xhs_41::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_41.png")}.xhs_emoji_xhs_42::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_42.png")}.xhs_emoji_xhs_43::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_43.png")}.xhs_emoji_xhs_44::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_44.png")}.xhs_emoji_xhs_45::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_45.png")}.xhs_emoji_xhs_46::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_46.png")}.xhs_emoji_xhs_47::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_47.png")}.xhs_emoji_xhs_48::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_48.png")}.xhs_emoji_xhs_49::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_49.png")}.xhs_emoji_xhs_5::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_5.png")}.xhs_emoji_xhs_50::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_50.png")}.xhs_emoji_xhs_51::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_51.png")}.xhs_emoji_xhs_52::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_52.png")}.xhs_emoji_xhs_53::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_53.png")}.xhs_emoji_xhs_54::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_54.png")}.xhs_emoji_xhs_55::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_55.png")}.xhs_emoji_xhs_56::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_56.png")}.xhs_emoji_xhs_57::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_57.png")}.xhs_emoji_xhs_58::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_58.png")}.xhs_emoji_xhs_59::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_59.png")}.xhs_emoji_xhs_6::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_6.png")}.xhs_emoji_xhs_60::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_60.png")}.xhs_emoji_xhs_61::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_61.png")}.xhs_emoji_xhs_7::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_7.png")}.xhs_emoji_xhs_8::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_8.png")}.xhs_emoji_xhs_9::before{background-image:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/emoji/xhs/emoji_xhs_9.png")}.task-list{width:100%;margin:0 !important;padding:0 !important}.task-list .task-list-item{list-style-type:none}.task-list .task-list-item>input[type=checkbox]{display:inline-block;width:1em;height:1em;margin:0 8px 0 0;opacity:1;vertical-align:-0.125em}.task-list .task-list-item input:not([type=checkbox]){margin-right:8px;vertical-align:middle;height:2em}.content-toggle-details{--content-toggle-accent: var(--text-secondary);--content-toggle-background: var(--surface-card);--content-toggle-border: var(--border-color);margin:var(--article-block-gap) 0;overflow:hidden;border:1px solid var(--content-toggle-border);border-radius:var(--radius-md);background:var(--content-toggle-background)}.content-toggle-details--blue{--content-toggle-accent: var(--theme-body);--content-toggle-background: var(--quote-blue-background);--content-toggle-border: var(--quote-blue-border)}.content-toggle-details--green{--content-toggle-accent: var(--theme-body);--content-toggle-background: var(--quote-green-background);--content-toggle-border: var(--quote-green-border)}.content-toggle-details--red{--content-toggle-accent: var(--theme-body);--content-toggle-background: var(--quote-red-background);--content-toggle-border: var(--quote-red-border)}.content-toggle-details--yellow{--content-toggle-accent: var(--theme-body);--content-toggle-background: var(--quote-yellow-background);--content-toggle-border: var(--quote-yellow-border)}.content-toggle-summary{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:46px;padding:8px 14px;color:var(--content-toggle-accent);font-family:var(--font-ui),sans-serif;font-size:14px;font-weight:var(--weight-strong);line-height:1.4;list-style:none;cursor:pointer}.content-toggle-summary::-webkit-details-marker{display:none}.content-toggle-summary:focus-visible{outline:2px solid var(--content-toggle-accent);outline-offset:-2px}.content-toggle-summary-main{display:inline-flex;align-items:center;gap:8px}.content-toggle-chevron{color:var(--theme-muted);font-size:14px;transition:transform var(--motion-normal) ease-out}.content-toggle-content{padding:12px 14px;padding-inline-start:40px;border-top:1px solid var(--content-toggle-border)}.content-toggle-content>:first-child{margin-top:0}.content-toggle-content>:last-child{margin-bottom:0}.article-body.layout-article .article-inner .content-toggle-content>:last-child{margin-bottom:0}.content-toggle-content:has(>.code-block-wrapper:only-child){padding:0}.article-body.layout-article .article-inner .content-toggle-content>.code-block-wrapper:only-child{margin:0;border:0;border-radius:0}.content-toggle-details[open] .content-toggle-chevron{transform:rotate(90deg)}@media only screen and (max-width: 768px){.content-toggle-summary{min-height:44px;padding-inline:12px}.content-toggle-content{padding:10px 12px;padding-inline-start:38px}}@media(prefers-reduced-motion: reduce){.content-toggle-chevron{transition:none}}@media print{.content-toggle-details{overflow:visible;border:0;background:rgba(0,0,0,0)}.content-toggle-summary{display:none}.content-toggle-details>.content-toggle-content{display:block !important;padding:0;border:0}}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;outline:none;min-height:36px;border:1px solid var(--button-border);line-height:var(--leading-ui);padding:6px 12px;white-space:nowrap;color:var(--text-primary);border-radius:var(--radius-md);background:var(--button-bg);font-family:var(--font-ui),sans-serif;font-size:var(--type-label);font-weight:var(--weight-medium);position:relative;overflow:visible;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:color var(--motion-slow) ease-in-out,background-color var(--motion-slow) ease-in-out,border-color var(--motion-slow) ease-in-out,box-shadow var(--motion-slow) ease-out}.button::before,button::before{content:none;display:none}.button:hover,.button:link,.button:visited,button:hover,button:link,button:visited{outline:none !important}.button:focus-visible,button:focus-visible{outline:none;border-color:var(--button-border-hover);box-shadow:var(--shadow-focus)}.button:hover,button:hover{border-color:var(--button-border-hover);background:var(--button-bg-hover);color:var(--text-heading)}.button:active,button:active{background:var(--button-bg-active)}.button:disabled,.button[aria-disabled=true],button:disabled,button[aria-disabled=true]{border-color:var(--theme-border);background:var(--theme-surface-subtle);color:var(--theme-faint);cursor:not-allowed;opacity:.72}html.search-overlay{overflow:hidden;overscroll-behavior:none}body.search-overlay{position:fixed;top:var(--search-scroll-top, 0px);left:0;right:var(--search-scrollbar-width, 0px);overflow:hidden;overscroll-behavior:none}body.search-overlay:after{display:block;position:fixed;z-index:9001;top:0;left:0;width:100%;height:100%;min-height:100%;content:"";background-color:var(--surface-overlay-mask)}body.search-overlay .site-header{right:var(--search-scrollbar-width, 0px)}.search-modal{position:fixed;top:max(72px,env(safe-area-inset-top) + 58px);left:0;right:0;z-index:9002;display:none;zoom:1;width:auto;padding:0 24px}.search-modal-content{position:relative;z-index:1;top:0;--search-control-height: 46px;--search-control-radius: 12px;--search-control-font-size: 15px;--search-close-size: 36px;--search-surface: var(--surface-overlay);--search-surface-focus: var(--surface-overlay);--search-border: var(--border-color);--search-border-focus: var(--color-accent);--search-text: var(--text-primary);--search-placeholder: var(--text-muted);--search-shadow: var(--shadow-overlay);--search-results-surface: var(--surface-overlay);--search-row-surface: var(--surface-card);--search-row-surface-hover: var(--surface-card-hover);--search-row-border: var(--border-color);--search-row-border-hover: var(--border-color-strong);--search-row-radius: 12px;--animate-duration: 220ms;--animate-delay: 0s;--animate-repeat: 1;width:min(1120px,100%);margin:0 auto;opacity:0;transform:translateY(-10px);transition:opacity var(--motion-normal) ease,transform var(--motion-normal) ease}.search-modal-content.active{top:0;left:0;opacity:1;transform:translateY(0)}.search-modal-content a,.search-modal-content h1,.search-modal-content h2,.search-modal-content h3,.search-modal-content h4,.search-modal-content li,.search-modal-content ol,.search-modal-content dl,.search-modal-content p,.search-modal-content span,.search-modal-content button,.search-modal-content input{color:var(--text-primary)}.search-modal-content .overlay-header{border:none;background-color:rgba(0,0,0,0)}.search-modal-content>label{display:block}.search-modal-content #search-input{box-sizing:border-box;width:100%;height:var(--search-control-height);margin:0;padding:0 50px 0 18px;border-radius:var(--search-control-radius);outline:none;-webkit-appearance:none;appearance:none;border:1px solid var(--search-border);background:var(--search-surface);box-shadow:var(--search-shadow);color:var(--search-text);font-family:var(--font-body),sans-serif;font-size:var(--search-control-font-size);font-weight:var(--weight-medium);line-height:1.2;text-indent:0;vertical-align:middle;transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.search-modal-content #search-input:focus{border-color:var(--search-border-focus);background:var(--search-surface-focus);box-shadow:var(--search-shadow),var(--shadow-focus)}.search-modal-content #search-input::placeholder{color:var(--search-placeholder);opacity:1}.search-modal-content #search-input::-ms-clear,.search-modal-content #search-input::-webkit-search-cancel-button,.search-modal-content #search-input::-webkit-search-decoration,.search-modal-content #search-input::-webkit-search-results-button,.search-modal-content #search-input::-webkit-search-results-decoration{display:none;width:0;height:0;-webkit-appearance:none;appearance:none}.search-modal-content .btn-close{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;width:var(--search-close-size);height:var(--search-close-size);min-width:var(--search-close-size);min-height:var(--search-close-size);padding:0;font-weight:var(--weight-strong);font-size:17px;line-height:1;color:var(--text-muted);background:rgba(0,0,0,0);border:0;top:calc((var(--search-control-height) - var(--search-close-size))/2);right:10px;border-radius:0;overflow:visible;cursor:pointer;transition:color var(--motion-fast) ease,transform var(--motion-fast) ease}.search-modal-content .btn-close:hover,.search-modal-content .btn-close:focus-visible{color:var(--text-primary);background:rgba(0,0,0,0)}.search-modal-content .btn-close:focus-visible{outline:2px solid var(--ui-focus-outline);outline-offset:1px}.search-modal-content .btn-close:active{transform:scale(0.96)}.search-modal-content .btn-close::before{content:none;display:none}.search-modal-content .btn-close i{display:grid;place-items:center;width:100%;height:100%;pointer-events:none;line-height:0;font-size:17px}.search-modal-content .btn-close i.emoji::before{display:block;width:1.25em;height:1.25em;margin:0;transform:none}.search-modal-content .btn-close .search-close-text{display:none}.search-modal-content #results-container{position:relative;box-sizing:border-box;width:100%;margin:12px 0 0;padding:7px;border-radius:18px;outline:0;border:1px solid var(--search-row-border);background:var(--search-results-surface);box-shadow:var(--search-shadow);text-shadow:none;max-height:calc(100vh - 166px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-color-strong) var(--surface-overlay)}.search-modal-content #results-container:empty{display:none}.search-modal-content #results-container::-webkit-scrollbar{width:6px;height:0}.search-modal-content #results-container::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.search-modal-content #results-container::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:3px}.search-modal-content #results-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.search-modal-content #results-container li{list-style:none;padding:0;margin:0;line-height:1.5;border:1px solid var(--search-row-border);border-radius:var(--search-row-radius);background:var(--search-row-surface);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;overflow:hidden;width:100%;box-sizing:border-box}.search-modal-content #results-container li+li{margin-top:5px}.search-modal-content #results-container li a{display:grid;grid-template-columns:minmax(0, 1fr) 92px 102px;align-items:center;min-height:52px;padding:0 16px 0 18px;text-decoration:none;transition:color .16s ease;font-size:14px;gap:14px;width:100%;box-sizing:border-box;overflow:hidden}.search-modal-content #results-container li a .search-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-weight:var(--weight-strong);line-height:1.35}.search-modal-content #results-container li a .search-freq{display:inline-flex;align-items:center;justify-content:center;grid-column:2;justify-self:end;min-width:76px;height:24px;padding:0 10px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--surface-raised);color:var(--text-secondary);font-size:11px;font-weight:var(--weight-strong);line-height:1;white-space:nowrap;font-family:var(--font-number),sans-serif;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;box-shadow:none}.search-modal-content #results-container li a .entry-date{grid-column:3;justify-self:end;min-width:0;color:var(--text-muted);font-family:var(--font-number),sans-serif;font-size:12px;font-weight:var(--weight-strong);line-height:1;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.search-modal-content #results-container li:hover{border-color:var(--search-row-border-hover);background:var(--search-row-surface-hover);box-shadow:none}.search-modal-content #results-container li:hover .search-title{color:var(--text-link)}.search-modal-content #results-container li:active{transform:scale(0.99)}.search-modal-content #results-container .search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:34px 20px;text-align:center}.search-modal-content #results-container .search-empty .emoji{margin-bottom:18px;opacity:.82}.search-modal-content #results-container .search-empty .emoji::before{width:3em;height:3em}.search-modal-content #results-container .search-empty .search-empty-text{color:var(--text-secondary);font-size:14px;letter-spacing:0}@media only screen and (max-width: 768px){.search-modal{top:max(16px,env(safe-area-inset-top) + 12px);bottom:auto;padding:0 8px}.search-modal-content{--search-control-height: 42px;--search-control-radius: 10px;--search-control-font-size: 16px;--search-close-size: 28px;--search-close-offset: 7px}.search-modal-content #search-input{padding:0 44px 0 14px}.search-modal-content .btn-close{right:7px}.search-modal-content .btn-close .search-close-text{display:none}.search-modal-content #results-container{margin-top:8px;padding:6px;border-radius:14px;max-height:calc(100dvh - 84px - env(safe-area-inset-top))}.search-modal-content #results-container li{--search-row-radius: 10px}.search-modal-content #results-container li+li{margin-top:5px}.search-modal-content #results-container li a{grid-template-columns:minmax(0, 1fr) 82px;min-height:48px;padding:0 10px 0 14px;gap:10px;font-size:14px}.search-modal-content #results-container li a .search-freq{display:none}.search-modal-content #results-container li a .entry-date{grid-column:2;min-width:0;font-size:12.5px}}@media(prefers-reduced-motion: reduce){.search-modal-content,.search-modal-content #search-input,.search-modal-content .btn-close,.search-modal-content #results-container li,.search-modal-content #results-container li a{transition:none}}:root{--layout-header-top: 14px;--layout-header-height: 66px;--layout-header-gap: 18px;--layout-header-offset: calc( var(--layout-header-top) + var(--layout-header-height) + var(--layout-header-gap) )}#page{padding-top:var(--layout-header-offset)}.site-header{position:fixed;top:var(--layout-header-top);left:var(--layout-page-inset);right:var(--layout-page-inset);z-index:80;box-sizing:border-box;margin:0;padding:8px 24px;box-shadow:var(--shadow-card)}.site-header a{color:var(--text-secondary)}.site-header a:hover{color:var(--text-accent)}.site-header .nav-global{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:48px;position:relative;z-index:1}.site-header .nav-global .logo{display:inline-flex;align-items:center;flex:0 0 auto;font-weight:var(--weight-strong)}.site-header .nav-global .logo .logo-link{display:inline-flex;align-items:center;gap:10px;min-height:36px;font-family:var(--font-heading),sans-serif;font-size:var(--type-title);font-weight:var(--weight-strong);line-height:1;letter-spacing:0;color:var(--text-heading);text-shadow:none;white-space:nowrap;transition:color var(--motion-normal) ease,transform var(--motion-normal) ease}.site-header .nav-global .logo .logo-link:hover{color:var(--text-accent);transform:translateY(-1px)}.site-header .nav-global .logo .site-avatar{display:block;flex:0 0 auto;width:36px;height:36px;border-radius:50%;object-fit:cover}.site-header .nav-global .logo .btn-menu{display:none}.site-header .nav-global .logo .btn-search{display:none}.site-header .nav-global ul{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:max-content;max-width:100%;min-width:0;margin:0;padding:0;gap:8px;list-style:none}.site-header .nav-global ul li{display:inline-flex;align-items:center;flex:0 0 auto}.site-header .nav-global ul .nav-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:0;padding:.5rem 1rem;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm);background:rgba(0,0,0,0);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:var(--text-secondary);font-family:var(--font-ui),sans-serif;font-size:15px;font-weight:var(--weight-medium);line-height:1;letter-spacing:0;white-space:nowrap;transform-origin:center;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.site-header .nav-global ul .nav-link i{font-size:.95em;line-height:1;text-align:center}.site-header .nav-global ul .nav-link:hover{border-color:rgba(0,0,0,0);background:var(--surface-card-hover);color:var(--text-primary);box-shadow:none}.site-header .nav-global ul .nav-link:focus-visible{border-color:rgba(0,0,0,0);background:var(--surface-card-hover);color:var(--text-primary);outline:2px solid var(--border-accent);outline-offset:2px;box-shadow:none}.site-header .nav-global ul .nav-link.is-active{border-color:rgba(0,0,0,0);background:var(--surface-raised);color:var(--text-primary);box-shadow:none}.site-header .nav-global ul .nav-link.is-active:hover,.site-header .nav-global ul .nav-link.is-active:focus-visible{border-color:rgba(0,0,0,0);background:var(--surface-card-hover);color:var(--text-primary)}.site-header .nav-global ul .nav-link:active{transform:none}.site-header .nav-global ul .nav-icon-item a,.site-header .nav-global ul .nav-search{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border:0;background:rgba(0,0,0,0);box-shadow:none;color:var(--text-secondary);font-size:1rem;-webkit-appearance:none;appearance:none}.site-header .nav-global ul .nav-search:hover,.site-header .nav-global ul .nav-search:focus-visible{border:0;background:var(--surface-card-hover);box-shadow:none}.site-header .nav-global ul .nav-divider{width:1px;height:24px;margin-inline:4px;background:var(--border-color-strong)}@media only screen and (max-width: 920px)and (min-width: 769px){.site-header{padding-inline:16px}.site-header .nav-global{gap:14px}.site-header .nav-global .logo .logo-link{font-size:1rem}.site-header .nav-global ul{gap:6px}.site-header .nav-global ul a.nav-link{padding:.45rem .6rem;gap:5px;font-size:13px}.site-header .nav-global ul .nav-divider{margin-inline:2px}.site-header .nav-global ul .nav-icon-item a,.site-header .nav-global ul .nav-search{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:15px}}@media only screen and (max-width: 768px){:root{--layout-page-inset: 14px;--layout-header-top: 10px;--layout-header-height: 52px;--layout-header-gap: 10px}html.mobile-menu-open,body.mobile-menu-open{overflow:hidden;overscroll-behavior:none}.site-header{left:var(--layout-page-inset);right:var(--layout-page-inset);min-height:var(--layout-header-height);padding:4px 12px;border-radius:var(--radius-3xl);box-shadow:var(--shadow-card)}.site-header .nav-global{display:grid;grid-template-columns:minmax(0, 1fr);align-items:center;gap:0;width:100%}.site-header .nav-global .logo{display:grid;grid-template-columns:44px minmax(0, 1fr) 44px;align-items:center;width:100%;height:calc(var(--layout-header-height) - 8px);padding-bottom:0}.site-header .nav-global .logo .logo-link{display:flex;align-items:center;justify-content:center;height:44px;min-height:0;margin:0;padding:0;font-size:1rem;line-height:44px;text-align:center;transform:none}.site-header .nav-global .logo .logo-link .site-avatar{display:none}.site-header .nav-global .logo .logo-link:hover{transform:none}.site-header .nav-global .logo .btn-menu,.site-header .nav-global .logo .btn-search{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);box-shadow:none;color:var(--text-primary);cursor:pointer;font-size:.95rem;line-height:1;-webkit-appearance:none;appearance:none}.site-header .nav-global .logo .btn-menu:focus-visible,.site-header .nav-global .logo .btn-search:focus-visible{background:var(--ui-bg-neutral-muted);box-shadow:none;outline:2px solid var(--ui-focus-outline);outline-offset:2px}.site-header .nav-global .logo .btn-menu i{font-size:18px}.site-header .nav-global>ul{display:none}.site-header .mobile-menu-backdrop{position:fixed;z-index:2;inset:0;display:block;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;background:var(--ui-overlay-backdrop);opacity:0;visibility:hidden;pointer-events:none;touch-action:none;transition:opacity 260ms cubic-bezier(0.16, 1, 0.3, 1),visibility 0s linear 260ms;-webkit-appearance:none;appearance:none}.site-header .mobile-menu-panel{position:fixed;z-index:3;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:min(84vw,360px);max-width:calc(100vw - 48px);min-width:0;padding:calc(24px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));border:0;border-right:1px solid var(--theme-border);background:var(--theme-canvas);box-shadow:8px 0 32px rgba(20,20,19,.12);font-family:var(--font-ui),sans-serif;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;transform:translate3d(-100%, 0, 0);visibility:hidden;pointer-events:none;transition:transform 280ms cubic-bezier(0.16, 1, 0.3, 1),visibility 0s linear 280ms;-webkit-overflow-scrolling:touch}.site-header .mobile-menu-panel:focus{outline:none}.site-header.is-menu-open,.site-header.is-menu-dragging{overflow:visible}.site-header.is-menu-open .mobile-menu-panel,.site-header.is-menu-dragging .mobile-menu-panel{visibility:visible;pointer-events:auto;will-change:transform}.site-header.is-menu-open .mobile-menu-panel{transform:translate3d(0, 0, 0);transition-delay:0s}.site-header.is-menu-open .mobile-menu-backdrop,.site-header.is-menu-dragging .mobile-menu-backdrop{visibility:visible;pointer-events:auto;transition-delay:0s}.site-header.is-menu-open .mobile-menu-backdrop{opacity:1}.site-header.is-menu-dragging .mobile-menu-panel,.site-header.is-menu-dragging .mobile-menu-backdrop{transition:none}.site-header .mobile-menu-profile{flex:0 0 auto;padding:0 0 18px;border-bottom:1px solid var(--theme-border)}.site-header .mobile-menu-profile-home{display:block;width:56px;height:56px;border-radius:50%}.site-header .mobile-menu-profile-avatar{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover}.site-header .mobile-menu-profile-home:focus-visible{opacity:.72;outline:2px solid var(--ui-focus-outline);outline-offset:2px}.site-header .mobile-menu-identity{margin-top:14px;font-family:var(--font-ui),sans-serif}.site-header .mobile-menu-title,.site-header .mobile-menu-handle,.site-header .mobile-menu-signature{margin:0}.site-header .mobile-menu-title{color:var(--theme-ink);font-size:20px;font-weight:var(--weight-strong);line-height:1.4;letter-spacing:normal}.site-header .mobile-menu-handle{margin-top:3px;color:var(--ui-fg-muted);font-size:13px;font-weight:var(--weight-medium);line-height:20px}.site-header .mobile-menu-signature{max-width:24em;margin-top:10px;color:var(--ui-fg-muted);font-size:13px;font-weight:var(--weight-medium);line-height:1.7}.site-header .mobile-menu-stats{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));place-items:center;min-height:52px;margin:20px 0 0;font-family:var(--font-ui),sans-serif}.site-header .mobile-menu-stats>div{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:52px}.site-header .mobile-menu-stats dt,.site-header .mobile-menu-stats dd{margin:0;text-align:center}.site-header .mobile-menu-stats dd a{color:inherit;font:inherit;text-decoration:none}.site-header .mobile-menu-stats dd a::after{content:"";position:absolute;inset:0;border-radius:6px}.site-header .mobile-menu-stats dd a:focus-visible::after{outline:2px solid var(--theme-link)}.site-header .mobile-menu-stats dt{order:2;margin-top:2px;color:var(--ui-fg-muted);font-size:12px;font-weight:var(--weight-medium);line-height:1.3}.site-header .mobile-menu-stats dd{order:1;max-width:100%;overflow:hidden;color:var(--theme-ink);font-family:var(--font-number),var(--font-ui),sans-serif;font-size:18px;font-variant-numeric:tabular-nums;font-weight:var(--weight-strong);line-height:1.3;text-overflow:ellipsis}.site-header .mobile-menu-panel .mobile-menu-links{display:block;flex:0 0 auto;padding:14px 0 0}.site-header .mobile-menu-panel .mobile-menu-links ul{display:flex;flex-direction:column;gap:4px;width:100%;padding:0;margin:0}.site-header .mobile-menu-panel .mobile-menu-links li{display:block;width:100%;min-width:0;list-style:none}.site-header .mobile-menu-panel .mobile-menu-links .nav-link{display:grid;grid-template-columns:24px minmax(0, 1fr);align-items:center;gap:12px;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:0;border-radius:6px;background:rgba(0,0,0,0);color:var(--ui-fg-default);font-family:var(--font-ui),sans-serif;font-size:16px;font-weight:var(--weight-medium);line-height:24px;text-align:left;text-decoration:none}.site-header .mobile-menu-panel .mobile-menu-links .nav-link i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:inherit;font-size:20px}.site-header .mobile-menu-panel .mobile-menu-links .nav-link .mobile-menu-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media only screen and (max-width: 768px)and (hover: hover){.site-header .mobile-menu-panel .mobile-menu-links .nav-link:hover{background:var(--theme-list-hover);color:var(--theme-ink)}}@media only screen and (max-width: 768px){.site-header .mobile-menu-panel .mobile-menu-links .nav-link:focus-visible{background:var(--theme-list-hover);color:var(--ui-fg-default);box-shadow:none;outline:2px solid var(--ui-focus-outline);outline-offset:-2px}.site-header .mobile-menu-panel .mobile-menu-links .nav-link.is-active[aria-current=page]{border:0;background:var(--theme-surface-hover);box-shadow:none;color:var(--theme-ink);font-weight:var(--weight-strong)}.site-header .mobile-menu-panel .mobile-menu-links .nav-link.is-active[aria-current=page]:focus-visible{background:var(--theme-surface-hover)}}@media only screen and (min-width: 769px){.mobile-menu-panel,.mobile-menu-backdrop{display:none !important}}@media(prefers-reduced-motion: reduce){.site-header .mobile-menu-panel,.site-header .mobile-menu-backdrop{transition:none}}.site-footer{--footer-row-height: 26px;--footer-row-gap: 2px;padding:18px 20px;text-align:center;font-size:13px;line-height:1.7;color:var(--text-secondary)}.site-footer .footer-inner{display:grid;grid-auto-rows:minmax(var(--footer-row-height), auto);justify-items:center;row-gap:var(--footer-row-gap);max-width:680px;margin:0 auto}.site-footer .footer-inner>*{min-height:var(--footer-row-height)}.site-footer .copyright{display:block;margin:0;color:var(--text-primary);line-height:1.5}.site-footer .copyright a{color:var(--text-primary);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--motion-normal) ease}.site-footer .copyright a:hover{color:var(--text-accent)}.site-footer .site-time{display:flex;align-items:center;justify-content:center;margin:0;color:var(--text-muted);font-family:var(--font-number),sans-serif;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums lining-nums;line-height:1.5}.site-footer .footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;margin:0;min-height:var(--footer-row-height)}.site-footer .footer-links a{display:inline-flex;align-items:center;justify-content:center;width:var(--footer-row-height);height:var(--footer-row-height);min-height:var(--footer-row-height);position:relative;border-radius:6px;color:var(--text-muted);text-decoration:none}.site-footer .footer-links a::before{position:absolute;inset:-9px;content:""}.site-footer .footer-links a:hover{background:var(--surface-raised);color:var(--text-accent)}.site-footer .footer-links a:focus-visible{border-radius:4px;outline:2px solid var(--border-accent);outline-offset:2px}.site-footer .footer-links i{width:17px;height:17px;line-height:17px;text-align:center}.site-footer .tabular-nums{font-family:var(--font-number),sans-serif;font-variant-numeric:tabular-nums lining-nums}.site-footer .footer-stats{display:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;opacity:0;transition:opacity var(--motion-slow) ease}.site-footer .footer-stats.loaded{display:flex;opacity:1}.site-footer .footer-stats>p{display:none;margin:0;opacity:0;transition:opacity var(--motion-slow) ease}.site-footer .footer-stats>p.loaded{display:block;opacity:1}.site-footer .footer-stats>span{white-space:nowrap}.site-footer .footer-stats [id^=busuanzi_value_]{margin:0 3px;font-weight:var(--weight-medium);color:var(--text-accent)}.site-footer .back-to-top{position:fixed;bottom:1.5rem;right:max(2rem,(100vw - var(--layout-content-max))/2 - 72px);z-index:9999;font-size:2.5em;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity var(--motion-explode) ease,transform var(--motion-slow) ease,visibility var(--motion-explode)}.site-footer .back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);animation:floaty 3.2s ease-in-out infinite}.site-footer .back-to-top.visible:hover{opacity:1;transform:translateY(-5px);animation-play-state:paused}@media only screen and (max-width: 768px){.site-footer{padding:10px 0 calc(14px + env(safe-area-inset-bottom))}.site-footer .footer-inner{display:flex;flex-direction:column;align-items:center;gap:4px}.site-footer .footer-inner>*{min-height:0}.site-footer .copyright,.site-footer .site-time{line-height:20px}.site-footer .footer-links{min-height:32px;gap:0 14px}.site-footer .footer-links a{width:32px;height:32px;min-height:32px}.site-footer .footer-links a::before{inset:-6px}.back-to-top{bottom:calc(1rem + env(safe-area-inset-bottom)) !important;right:1rem !important}}@media only screen and (min-width: 1200px){.site-footer h4 a{font-size:1em}}body{background:var(--surface-body);font-family:var(--font-body),sans-serif;font-size:var(--type-body);line-height:var(--leading-body);color:var(--text-primary);word-wrap:break-word;height:100%}.body .main-content{position:relative;box-sizing:border-box;padding:0 14px 14px 14px;margin-left:var(--layout-body-margin-x);margin-right:var(--layout-body-margin-x);border:1px solid var(--border-color);border-radius:0;background:var(--surface-card-subtle);box-shadow:var(--shadow-card)}.article-body .entry-title{letter-spacing:0}.article-body a{margin:0;color:var(--text-link)}.article-body a:hover{color:var(--text-link-hover)}.article-body img:not(.emoji){display:block;width:auto !important;max-width:100% !important;max-height:none;height:auto !important;margin-top:5px;margin-bottom:5px}.article-body .article-figure,.article-body .article-figure--framed{margin:1.5rem 0;text-align:center}.article-body .article-figure img:not(.emoji),.article-body .article-figure--framed img:not(.emoji){margin:0 auto}.article-body .article-figure figcaption,.article-body .article-figure--framed figcaption{margin-top:.625rem;padding-inline:.75rem;color:var(--text-muted);font-family:var(--font-ui),sans-serif;font-size:var(--type-meta);line-height:var(--leading-ui);text-wrap:pretty}.article-body .article-figure--framed{padding:.5rem .5rem .625rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-card-subtle)}.article-body .article-figure--framed img:not(.emoji){border-radius:calc(var(--radius-md) - 2px)}.article-body.layout-article .article-inner>p:has(>img:only-child),.article-body.layout-article .article-inner>.img-box{width:100%;max-width:none;margin:10px 0;line-height:0}.article-body.layout-article .article-inner>p:has(>img:only-child)+p:has(>img:only-child){margin-top:6px}.article-body.layout-article .article-inner>p:has(>img:only-child)>img{margin:0}.article-body.layout-article .article-inner>.img-box+.img-box{margin-top:6px}.article-body.layout-article .article-inner>.img-box>img{margin:0}.article-body ul li{list-style:disc}.article-body ul li li{list-style:circle}.article-body ul li li li{list-style:square}.article-body ol{list-style:decimal}.article-body dl,.article-body ol,.article-body ul{padding-left:1.5em}.article-body .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box;scrollbar-width:none}.article-body .table-wrapper::-webkit-scrollbar{display:none}.article-body table{display:table;margin:0;width:100%;border-collapse:collapse;border-spacing:0}.article-body table a{color:var(--text-link);font-weight:var(--weight-strong)}.article-body table a:hover{color:var(--text-link-hover)}.article-body table td,.article-body table th{padding:.75rem 1rem;border-bottom:1px solid var(--table-border);word-break:break-word;white-space:pre-wrap}.article-body table th{font-weight:var(--weight-strong);color:var(--table-head-text);text-align:left;background:var(--table-head-bg);word-break:normal;white-space:nowrap}.article-body table th:not(:first-child),.article-body table td:not(:first-child){min-width:100px}.article-body table th:first-child,.article-body table td:first-child{min-width:60px}.article-body table tbody tr:last-child td{border-bottom:none}.article-body table tbody tr:nth-child(even) td{background:var(--table-row-alt-bg)}.article-body code,.article-body kbd,.article-body pre,.article-body samp{font-family:var(--font-code, monospace),monospace;font-weight:var(--weight-regular);line-height:1.45;letter-spacing:0;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.article-body :not(pre)>code{padding:.2em .4em;border:1px solid var(--inline-code-border);border-radius:var(--radius-sm);background:var(--inline-code-bg);color:var(--inline-code-text);font-size:.85em;line-height:inherit;white-space:break-spaces;box-decoration-break:clone;-webkit-box-decoration-break:clone}.article-body pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.article-body pre::-webkit-scrollbar{display:none}.article-body pre:not(.highlight)>code:not([class*=language-]){white-space:pre-wrap;word-break:break-word}.article-body .code-block-wrapper{position:relative;margin:22px 0;border-radius:var(--code-radius);overflow:hidden;border:1px solid var(--code-border);background:var(--code-bg-start);box-shadow:none}.article-body .code-block-wrapper .code-block-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:7px 14px;background:var(--code-header-bg);border-bottom:1px solid var(--code-header-border);box-shadow:none;user-select:none}.article-body .code-block-wrapper .code-block-header .code-block-dots{display:flex;align-items:center;gap:6px}.article-body .code-block-wrapper .code-block-header .code-block-dots span{display:inline-block;width:11px;height:11px;border-radius:50%}.article-body .code-block-wrapper .code-block-header .code-block-dots span:nth-child(1){background:var(--code-dot-red)}.article-body .code-block-wrapper .code-block-header .code-block-dots span:nth-child(2){background:var(--code-dot-yellow)}.article-body .code-block-wrapper .code-block-header .code-block-dots span:nth-child(3){background:var(--code-dot-green)}.article-body .code-block-wrapper .code-block-header .code-block-copy{display:flex;align-items:center;gap:5px;font-size:11px;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);min-width:34px;min-height:34px;justify-content:center;padding:5px 8px;border-radius:7px;cursor:pointer;transition:color var(--motion-normal),background var(--motion-normal);font-family:var(--font-code, monospace),monospace;font-weight:var(--weight-medium)}.article-body .code-block-wrapper .code-block-header .code-block-copy i{font-size:17px}.article-body .code-block-wrapper .code-block-header .code-block-copy:hover{color:var(--code-copy-hover-text)}.article-body .code-block-wrapper .code-block-header .code-block-copy.copied{color:var(--code-copy-success-text)}.article-body .code-block-wrapper .code-block-header .code-block-actions{display:inline-flex;align-items:center;gap:10px}.article-body .code-block-wrapper .code-copy-icon{display:inline-block;width:16px;height:16px;background-color:currentcolor;mask:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/copy-code.svg") center/contain no-repeat}.article-body .code-block-wrapper pre{margin:0 !important;padding:0 !important;border-radius:0 !important;background:rgba(0,0,0,0) !important}.article-body .code-block-wrapper pre code{display:block;padding:0 !important;font-size:13.6px;font-family:var(--font-code, monospace),monospace;font-weight:var(--weight-regular);line-height:1.45;letter-spacing:0;border-radius:0 !important;overflow-x:auto;scrollbar-width:none}.article-body .code-block-wrapper pre code::-webkit-scrollbar{display:none}.article-body .katex{color:var(--text-primary)}.article-body .katex-display{box-sizing:border-box;max-width:100%;margin:1.25rem 0;padding:.25rem 0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.article-body .katex-display::-webkit-scrollbar,.article-body .mermaid-diagram::-webkit-scrollbar{display:none}.article-body .katex-display>.katex{max-width:100%}.article-body .katex-inline-source{display:inline}.article-body .katex-display-source{display:block}.article-body .mermaid-diagram{box-sizing:border-box;display:flex;justify-content:center;width:100%;margin:22px 0;padding:18px;overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:none;line-height:1.4;white-space:normal;-webkit-overflow-scrolling:touch;scrollbar-width:none}.article-body .mermaid-diagram:not([data-processed=true]){justify-content:flex-start;font-family:var(--font-code, monospace),monospace;font-size:13.5px;font-weight:var(--weight-medium);color:var(--text-muted);white-space:pre-wrap}.article-body .mermaid-diagram svg{flex:0 0 auto;max-width:100%;height:auto}.article-body blockquote{font-family:var(--font-handnote),sans-serif;padding:1rem 1.125rem;margin:1rem 0;border:1px solid var(--blockquote-border);border-radius:var(--radius-lg);background:var(--blockquote-bg);box-shadow:none;transition:var(--motion-default)}.article-body blockquote strong,.article-body blockquote b{color:var(--blockquote-strong) !important}.article-body blockquote p{margin:0;text-indent:0;text-shadow:none;word-wrap:break-word;white-space:normal;overflow-wrap:anywhere;line-height:var(--leading-body)}.article-body blockquote p+p{margin-top:.5em}.article-body blockquote p:empty{display:none}.article-body blockquote dl,.article-body blockquote ol,.article-body blockquote ul{margin:0;line-height:2em}.article-body blockquote>ol,.article-body blockquote>ul{padding-left:1em}.article-body blockquote .task-list .task-list-item p:nth-child(n+2){text-indent:1.6em}.article-body .center-block{display:block;margin-right:auto;margin-left:auto}.article-body.layout-article{--font-article-title: var(--font-heading);--font-article-body: var(--font-prose-mixed);--font-article-meta: var(--font-number);box-sizing:border-box;padding:clamp(6px,1vw,8px) clamp(6px,1.2vw,10px) clamp(8px,1.6vw,12px)}.article-body.layout-article>.article-inner{position:relative;display:flow-root}.article-body.layout-article .entry-title,.article-body.layout-article .article-inner>h1,.article-body.layout-article .article-inner>h2,.article-body.layout-article .article-inner>h3,.article-body.layout-article .article-inner>h4,.article-body.layout-article .article-inner>h5,.article-body.layout-article .article-inner>h6{font-family:var(--font-article-title),sans-serif;font-weight:var(--weight-strong);letter-spacing:0;line-height:var(--leading-title);font-feature-settings:"kern" 1,"pnum" 1,"lnum" 1}.article-body.layout-article .entry-title{font-size:var(--type-page-title);font-weight:var(--weight-strong);line-height:1.3;letter-spacing:0}.article-body.layout-article .meta,.article-body.layout-article .meta button,.article-body.layout-article .meta .post-meta-pill,.article-body.layout-article .meta a,.article-body.layout-article .meta span,.article-body.layout-article .meta time{font-family:var(--font-article-meta),sans-serif;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li,.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li,.article-body.layout-article .article-inner table td,.article-body.layout-article .article-inner table th{font-family:var(--font-article-body),sans-serif;font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0;font-kerning:normal;font-variant-numeric:proportional-nums lining-nums;font-feature-settings:"kern" 1,"pnum" 1,"lnum" 1;font-weight:var(--weight-regular);text-rendering:optimizeLegibility}.article-body.layout-article .article-inner table td,.article-body.layout-article .article-inner table th{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"kern" 1,"tnum" 1,"lnum" 1}.article-body.layout-article .article-inner>p{margin-top:.75em;margin-bottom:.75em;max-width:var(--measure-reading)}.article-body.layout-article .post-copyright{position:relative;margin-top:24px;display:grid;gap:10px;padding:.875rem 1rem;border:1px solid var(--border-accent);border-radius:var(--radius-lg);background:var(--color-accent-bg);box-shadow:none;color:var(--text-primary);transition:background-color var(--motion-normal) ease,box-shadow var(--motion-normal) ease}.article-body.layout-article .post-copyright .post-copyright-author,.article-body.layout-article .post-copyright .post-copyright-type,.article-body.layout-article .post-copyright .post-copyright-notice{margin:0}.article-body.layout-article .post-copyright .post-copyright-meta{color:var(--post-copyright-meta-text);font-weight:var(--weight-strong)}.article-body.layout-article .post-copyright a{color:var(--post-copyright-content-text);text-decoration:none;overflow-wrap:anywhere;transition:color var(--motion-normal) ease}.article-body.layout-article .post-copyright a:hover,.article-body.layout-article .post-copyright a:focus-visible{color:var(--post-copyright-content-hover-text);outline:none}.article-body.layout-article .article-icon{margin:0 6px 0 0}.article-body.layout-article .meta{margin-top:15px;padding-bottom:10px;border-bottom:2px solid var(--border-heading)}.article-body.layout-article .meta .post-date-publish .post-meta-pill{display:inline-flex;align-items:center;gap:6px;position:relative;overflow:hidden;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:var(--button-bg);color:var(--text-primary);line-height:1.5em;white-space:nowrap;margin-top:5px;margin-bottom:5px;cursor:default}.article-body.layout-article .meta .post-date-publish .author{cursor:pointer}.article-body.layout-article .meta .post-list-category{margin:5px 0 5px 0}.article-body.layout-article .meta .post-list-tag{margin:5px 0 10px 0}.article-body.layout-article .meta .post-list-linear{padding-left:0;list-style:none}.article-body.layout-article .meta .post-list-linear .post-list-head{display:inline-block;margin:0 8px 0 0}.article-body.layout-article .meta .post-list-linear div{line-height:normal;display:inline-block;vertical-align:middle;padding-top:5px;padding-bottom:5px}.article-body.layout-article .meta .post-list-linear div a button{display:inline-flex;align-items:center;gap:7px}.article-body.layout-article .meta .post-list-linear div a button i+i{margin-left:-7px}.article-body.layout-article .meta .post-list-linear div a button span{display:inline-flex;align-items:center;min-height:1.7em;padding:0 6px;border-radius:20px;border:1px solid var(--border-color);background-color:var(--surface-raised);color:var(--text-secondary);font-size:.88em;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;line-height:1.2}.article-body.layout-article .meta .post-list-linear div:last-child{margin-right:0}.article-body .page-header{border-bottom:6px solid var(--border-heading)}.article-body .page-header h1{margin:0;border-bottom:none}.article-body .page-header h1 .emoji::before{width:1em;height:1em}.article-body .post-nav-footer{top:auto;margin-top:26px;padding-top:12px;border-top:1px solid var(--border-color)}.article-body .post-nav-footer nav{display:block}.article-body .post-nav-footer nav .prev,.article-body .post-nav-footer nav .next{padding:0 16px;position:relative;display:inline-block;height:2.5em;line-height:2.5em;text-align:center;color:var(--text-primary);transition:var(--motion-default)}.article-body .post-nav-footer nav .prev .line,.article-body .post-nav-footer nav .next .line{position:absolute;transition:var(--motion-default);background:var(--text-accent)}.article-body .post-nav-footer nav .prev .line.line-top,.article-body .post-nav-footer nav .next .line.line-top{width:0;height:1px;left:-110%;top:-1px}.article-body .post-nav-footer nav .prev .line.line-right,.article-body .post-nav-footer nav .next .line.line-right{width:1px;height:0;right:-1px;top:-110%}.article-body .post-nav-footer nav .prev .line.line-bottom,.article-body .post-nav-footer nav .next .line.line-bottom{width:1px;height:0;left:-1px;bottom:-110%}.article-body .post-nav-footer nav .prev .line.line-left,.article-body .post-nav-footer nav .next .line.line-left{width:0;height:1px;bottom:-1px;right:-110%}.article-body .post-nav-footer nav .prev:hover,.article-body .post-nav-footer nav .next:hover{transition:var(--motion-default)}.article-body .post-nav-footer nav .prev:hover .line-top,.article-body .post-nav-footer nav .next:hover .line-top{width:100%;left:0}.article-body .post-nav-footer nav .prev:hover .line-right,.article-body .post-nav-footer nav .next:hover .line-right{height:100%;top:0}.article-body .post-nav-footer nav .prev:hover .line-bottom,.article-body .post-nav-footer nav .next:hover .line-bottom{height:100%;bottom:0}.article-body .post-nav-footer nav .prev:hover .line-left,.article-body .post-nav-footer nav .next:hover .line-left{width:100%;right:0}.article-body .post-nav-footer nav .prev:hover a,.article-body .post-nav-footer nav .next:hover a{transition:var(--motion-default);color:var(--text-accent)}.article-body .post-nav-footer nav .prev{float:left}.article-body .post-nav-footer nav .next{float:right}.article-body.layout-listing .posts-container{margin:0;padding:0}.article-body.layout-listing .blog-home-all-panel{margin-top:0}.article-body.layout-listing .post-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;border:1px solid var(--border-color);border-top:0;border-radius:0 0 var(--radius-card) var(--radius-card);list-style:none;overflow:hidden}.article-body.layout-listing .post-item{margin:0;border-top:1px solid var(--border-color);list-style:none}.article-body.layout-listing .post-item:first-child{border-top:0}.article-body.layout-listing .post-row{display:grid;grid-template-columns:minmax(0, 1fr);align-items:center;min-height:54px;min-width:0;padding:10px 16px;background:var(--surface-card);color:inherit;text-decoration:none}.article-body.layout-listing .post-row:hover,.article-body.layout-listing .post-row:focus-visible{background:var(--surface-card-hover);color:inherit;text-decoration:none}.article-body.layout-listing .post-row:focus-visible{box-shadow:inset 0 0 0 2px var(--border-accent)}.article-body.layout-listing .post-row-content{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:center;gap:4px 16px;min-width:0}.article-body.layout-listing .post-title-main{grid-column:1;grid-row:1;display:flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:0;overflow:hidden}.article-body.layout-listing .post-title{display:block;flex:0 1 auto;min-width:0;overflow:hidden;color:var(--text-heading);font-size:16px;font-weight:var(--weight-strong);line-height:1.4;text-overflow:ellipsis;text-decoration:none;white-space:nowrap}.article-body.layout-listing .post-row:hover .post-title,.article-body.layout-listing .post-row:focus-visible .post-title{color:var(--text-link);text-decoration:underline;text-underline-offset:2px}.article-body.layout-listing .post-row-meta{display:contents}.article-body.layout-listing .post-row-primary-meta{grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-self:end;gap:10px;white-space:nowrap}.article-body.layout-listing .post-pinned-icon{display:inline-block;flex:0 0 auto;width:18px;height:18px;background:var(--theme-muted);mask:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/bean.svg") center/contain no-repeat}.article-body.layout-listing .post-row-date{grid-column:2;grid-row:2;justify-self:end;display:inline-flex;align-items:center;gap:5px;min-height:22px;color:var(--text-muted);font-family:var(--font-number),sans-serif;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.5;white-space:nowrap}.article-body.layout-listing .post-row-content:not(:has(.post-label--difficulty,.post-article-marker,.post-row-primary-meta)) .post-row-date{grid-row:1}.article-body.layout-listing .post-date-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:14px;height:14px;font-size:14px;line-height:1}.article-body.layout-listing .post-label{display:inline-flex;align-items:center;gap:4px;min-height:20px;padding:0 7px;border:1px solid var(--border-color);border-radius:999px;background:var(--surface-card);color:var(--text-secondary);font-size:11px;font-weight:var(--weight-strong);line-height:18px;white-space:nowrap}.article-body.layout-listing .post-label--difficulty.is-difficulty-easy{border-color:rgba(0,0,0,0);background:var(--leetcode-easy-badge-bg);color:var(--leetcode-easy-badge-text);font-weight:var(--weight-strong)}.article-body.layout-listing .post-label--difficulty{grid-column:1;grid-row:2;justify-self:start;min-height:22px;padding-inline:8px;font-size:12px}.article-body.layout-listing .post-article-marker{display:inline-flex;align-items:center;grid-column:1;grid-row:2;justify-self:start;min-height:22px;color:var(--theme-muted);font-size:14px;line-height:1}.article-body.layout-listing .article-marker-icon{display:inline-block;width:16px;height:16px;background:currentcolor;mask:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/house.svg") center/contain no-repeat}.article-body.layout-listing .post-label--difficulty.is-difficulty-medium{border-color:rgba(0,0,0,0);background:var(--leetcode-medium-badge-bg);color:var(--leetcode-medium-badge-text);font-weight:var(--weight-strong)}.article-body.layout-listing .post-label--difficulty.is-difficulty-hard{border-color:rgba(0,0,0,0);background:var(--leetcode-hard-badge-bg);color:var(--leetcode-hard-badge-text);font-weight:var(--weight-strong)}.article-body.layout-listing .post-frequency{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;min-height:20px;color:var(--text-muted);font-family:var(--font-number),sans-serif;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.article-body.layout-listing .post-frequency strong{color:var(--text-secondary);font-weight:var(--weight-strong)}@media(max-width: 768px){.article-body.layout-listing .post-row{padding:10px 12px}.article-body.layout-listing .post-title{font-size:15px}.article-body.layout-listing .post-row-content{column-gap:8px}}.article-body .leetcode-difficulty-easy-color{color:var(--leetcode-easy-text)}.article-body .leetcode-difficulty-medium-color{color:var(--leetcode-medium-text)}.article-body .leetcode-difficulty-hard-color{color:var(--leetcode-hard-text)}.article-body .detail-wrap{scroll-margin-top:calc(var(--layout-header-height) + 12px)}.article-body .detail-wrap .post-sort,.article-body .detail-wrap .post-filter-menu,.article-body .detail-wrap .post-sort-menu{position:relative}.article-body .detail-wrap .post-sort{display:inline-flex;align-items:center;min-height:32px}.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid var(--theme-control-border);border-radius:var(--radius-sm);background:var(--theme-toolbar-bg);color:var(--text-secondary);font-family:var(--font-ui),sans-serif;font-size:14px;font-weight:var(--weight-medium);line-height:1.4;cursor:pointer;list-style:none;user-select:none}.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary)::-webkit-details-marker{display:none}.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary):hover,.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary):focus-visible,.article-body .detail-wrap :is(.post-sort-menu,.post-filter-menu)[open]>summary{background:var(--ui-bg-hover);color:var(--text-primary);outline:none}.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary):focus-visible{box-shadow:var(--shadow-focus)}.article-body .detail-wrap .post-filter-summary.is-active{color:var(--ui-fg-link)}.article-body .detail-wrap .post-sort-current-label{padding-left:8px;border-left:1px solid var(--filter-menu-active-border, var(--ui-border-emphasis));color:var(--filter-menu-text, var(--text-primary));font-size:13px;font-weight:var(--weight-strong);white-space:nowrap}.article-body .detail-wrap .post-sort-summary.is-active{border:1px solid var(--filter-menu-active-border, var(--ui-border-emphasis));background:var(--filter-menu-active, var(--ui-bg-muted))}.article-body .detail-wrap :is(.post-sort-options,.post-filter-popover){position:absolute;top:calc(100% + 8px);right:0;z-index:30;box-sizing:border-box;max-width:calc(100vw - 24px);overflow:hidden;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-overlay);box-shadow:var(--shadow-overlay)}.article-body .detail-wrap .post-sort-options{--sort-accent: var(--text-accent);--sort-accent-soft: color-mix(in srgb, var(--ui-fg-link) 9%, var(--ui-bg-default));--sort-accent-border: color-mix(in srgb, var(--ui-fg-link) 30%, var(--border-color));display:flex;flex-direction:column;width:min(256px,100vw - 16px);padding:0;max-height:min(480px,var(--post-menu-max-height, calc(100dvh - 32px)));overflow-x:hidden;overflow-y:hidden;overscroll-behavior:contain}.article-body .detail-wrap .post-sort-option-list{flex:1 1 auto;min-height:0;max-height:min(424px,100dvh - 88px);padding:8px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.article-body .detail-wrap .post-filter-popover{--filter-accent: var(--text-accent);--filter-surface-soft: var(--surface-raised);display:flex;flex-direction:column;width:min(336px,100vw - 24px);max-height:min(440px,var(--post-menu-max-height, calc(100dvh - 32px)));padding-bottom:10px;border-radius:10px;box-shadow:var(--ui-shadow-overlay)}.article-body .detail-wrap .post-filter-close,.article-body .detail-wrap .post-sort-close{display:none}.article-body .detail-wrap .post-sort-titlebar{display:block}.article-body .detail-wrap .post-filter-titlebar{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border-bottom:1px solid var(--border-color);background:var(--ui-bg-default)}.article-body .detail-wrap .post-filter-titlebar::before{content:none}.article-body .detail-wrap .post-filter-titlebar .post-filter-title{flex:1 1 auto;min-height:auto;gap:8px;padding:0;border-bottom:0}.article-body .detail-wrap :is(.post-sort-options-title,.post-filter-title){display:flex;align-items:center;gap:8px;min-height:44px;box-sizing:border-box;margin:0;padding:10px 14px;border-bottom:1px solid var(--border-color);color:var(--text-heading);font-size:13px;font-weight:var(--weight-strong)}.article-body .detail-wrap .post-filter-search{display:grid;grid-template-columns:16px minmax(0, 1fr) auto;align-items:center;gap:8px;min-height:38px;box-sizing:border-box;margin:10px 12px 8px;padding:0 12px;border:1px solid var(--ui-border-default);border-radius:8px;background:var(--ui-bg-default);color:var(--text-muted);transition:border-color 140ms ease-out,box-shadow 140ms ease-out}.article-body .detail-wrap .post-filter-search:focus-within{border-color:var(--filter-accent);background:var(--ui-bg-default);box-shadow:0 0 0 1px var(--filter-accent)}.article-body .detail-wrap .post-filter-search:focus-within>i{color:var(--filter-accent)}.article-body .detail-wrap .post-filter-search input{width:100%;min-width:0;min-height:32px;box-sizing:border-box;padding:0;border:0;outline:0;background:rgba(0,0,0,0);color:var(--text-primary);font-family:var(--font-ui),sans-serif;font-size:13px;-webkit-appearance:none;appearance:none}.article-body .detail-wrap .post-filter-search input::-ms-clear,.article-body .detail-wrap .post-filter-search input::-webkit-search-cancel-button,.article-body .detail-wrap .post-filter-search input::-webkit-search-decoration{display:none;width:0;height:0;-webkit-appearance:none;appearance:none}.article-body .detail-wrap .post-filter-search-clear{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:background-color 140ms ease-out,color 140ms ease-out,transform 100ms ease-out}.article-body .detail-wrap .post-filter-search-clear[hidden]{display:none}.article-body .detail-wrap .post-filter-search-clear:hover{background:rgba(0,0,0,0);color:var(--text-primary)}.article-body .detail-wrap .post-filter-search-clear:focus-visible{background:rgba(0,0,0,0);color:var(--text-primary);outline:2px solid var(--ui-focus-outline);outline-offset:1px}.article-body .detail-wrap .post-filter-search-clear:active{transform:scale(0.92)}.article-body .detail-wrap .post-filter-search-clear>i{pointer-events:none}.article-body .detail-wrap .post-filter-options{display:flex;flex-direction:column;gap:0;flex:1 1 auto;min-height:0;max-height:320px;box-sizing:border-box;padding:4px 12px 8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option){display:grid;align-items:center;gap:8px;width:100%;min-width:0;min-height:36px;box-sizing:border-box;padding:6px 12px;border:0;border-radius:6px;background:rgba(0,0,0,0);color:var(--text-primary);font-family:var(--font-ui),sans-serif;font-size:14px;text-align:left;cursor:pointer}.article-body .detail-wrap .post-sort-option-list>button{grid-template-columns:16px minmax(0, 1fr);gap:12px;width:calc(100% - 16px);margin-inline:8px;border:1px solid rgba(0,0,0,0);border-radius:8px;transition:border-color 140ms ease-out,background-color 140ms ease-out}.article-body .detail-wrap .post-sort-option-list>button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-body .detail-wrap .post-filter-options .post-filter-option{position:relative;grid-template-columns:16px minmax(0, 1fr);gap:10px;min-height:40px;padding:7px 10px;border:1px solid rgba(0,0,0,0);border-radius:8px;margin:2px 0;transition:border-color 140ms ease-out,background-color 140ms ease-out}.article-body .detail-wrap .post-filter-option[hidden]{display:none}.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option):hover,.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option):focus-visible,.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option).is-active{background:var(--ui-bg-muted);outline:none}.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option).is-active{font-weight:var(--weight-strong)}.article-body .detail-wrap .post-filter-option.is-active{font-weight:var(--weight-medium)}.article-body .detail-wrap .post-sort-option-list>button.is-active{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--text-primary)}.article-body .detail-wrap .post-sort-option-list>button:hover,.article-body .detail-wrap .post-sort-option-list>button:focus-visible{background:var(--ui-bg-muted)}.article-body .detail-wrap .post-sort-option-list>button:focus-visible{border-color:var(--ui-focus-outline);box-shadow:0 0 0 2px color-mix(in srgb, var(--ui-fg-link) 16%, transparent)}.article-body .detail-wrap .post-filter-options .post-filter-option:hover,.article-body .detail-wrap .post-filter-options .post-filter-option:focus-visible{background:var(--filter-surface-soft)}.article-body .detail-wrap .post-filter-options .post-filter-option.is-active{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--text-primary)}.article-body .detail-wrap .post-filter-options .post-filter-option.is-active:hover,.article-body .detail-wrap .post-filter-options .post-filter-option.is-active:focus-visible{border-color:rgba(0,0,0,0);background:var(--ui-bg-muted)}.article-body .detail-wrap .post-filter-check{width:16px;height:16px;color:var(--theme-ink);visibility:hidden}.article-body .detail-wrap .post-filter-option.is-active .post-filter-check{visibility:visible}.article-body .detail-wrap .post-filter-option-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-body .detail-wrap .post-filter-no-results{margin:0;padding:18px 12px;color:var(--text-muted);font-size:13px;text-align:center}.article-body .detail-wrap .post-filter-no-results[hidden]{display:none}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body .entry-title,.article-body .feature-card-title,.article-body .summary-card-title{font-family:var(--font-title-mixed),sans-serif;letter-spacing:0;font-variant-numeric:proportional-nums lining-nums;font-feature-settings:"kern" 1,"pnum" 1,"lnum" 1;font-weight:var(--weight-strong);text-rendering:optimizeLegibility}.article-body .post-title,.article-body .post-title a{font-family:var(--font-ui),sans-serif;letter-spacing:0;font-variant-numeric:proportional-nums lining-nums;font-feature-settings:"kern" 1,"pnum" 1,"lnum" 1;font-weight:var(--weight-strong);text-rendering:optimizeLegibility}@media only screen and (max-width: 768px){body{font-size:15px;line-height:1.76}.body .main-content{padding:6px 6px 10px}#page:has(.article-body.layout-article) .body .main-content{margin-inline:auto;padding:4px 0 10px}h1{font-size:24px;margin-top:26px;margin-bottom:10px}h2{font-size:21px;margin-top:22px;margin-bottom:9px}h3{font-size:18px;margin-top:18px;margin-bottom:8px}h4{font-size:16px;margin-top:14px;margin-bottom:7px}.article-body table{min-width:560px;width:100%;table-layout:auto}.article-body table td,.article-body table th{padding:.52rem .8rem;font-size:.875rem;line-height:1.58}.article-body .code-block-wrapper{margin:20px 0 22px}.article-body .code-block-wrapper .code-block-header{padding:10px 14px}.article-body .code-block-wrapper pre code{font-size:13.5px;line-height:1.7}.article-body.layout-listing .post-list .post-row{padding:16px 10px}.article-body.layout-listing .post-list .post-row-main .post-title{font-size:15px}.article-body.layout-listing .post-list .post-date-plain{font-size:12.5px}.article-body.layout-article{padding:6px 12px 12px}.article-body.layout-article .entry-title{font-size:21px;line-height:1.36}.article-body.layout-article .meta{margin-top:12px;font-size:12.5px}.article-body.layout-article .post-copyright{font-size:13px;line-height:1.65;gap:10px;padding:.5rem .65rem .5rem .85rem}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li,.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{font-size:14px}.article-body.layout-article .article-inner table td,.article-body.layout-article .article-inner table th{font-size:16px}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li{line-height:1.76}.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{line-height:1.95}.article-body.layout-article .article-inner>h2{font-size:21px}.article-body.layout-article .article-inner>h3{font-size:18px}.article-body.layout-article .article-inner>h4{font-size:16px}.article-body.layout-article .article-inner>blockquote{padding:.5rem .65rem .5rem 2.25rem}.article-body.layout-article .article-inner>blockquote::before{top:.25rem;left:.65rem;font-size:2.25rem}.article-body.layout-article .article-inner>ul,.article-body.layout-article .article-inner>ol,.article-body.layout-article .article-inner>blockquote ul,.article-body.layout-article .article-inner>blockquote ol{padding-left:1em}.article-body.layout-article .article-inner table td,.article-body.layout-article .article-inner table th{line-height:1.58}.article-body .detail-wrap{padding-inline:2px}}@media only screen and (max-width: 480px){.article-body table{min-width:520px}.article-body table td,.article-body table th{padding:.5rem .72rem;font-size:13.5px;line-height:1.5}}@media only screen and (max-width: 1200px){.article-body .year-month,.article-body header h1{text-align:center}}@media only screen and (min-width: 1200px){body{font-size:16px;line-height:1.85}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li,.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{font-size:1rem;line-height:1.88}.article-body.layout-listing .post-list .post-date-plain{font-size:13px}}@media only screen and (min-width: 1600px){body{font-size:17px;line-height:1.85}h1{font-size:2.375rem}h2{font-size:1.8125rem}h3{font-size:1.5rem}h4{font-size:1.1875rem}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li,.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{font-size:1.0625rem;line-height:1.88}.article-body.layout-article .entry-title{font-size:2.5rem}}:root{color-scheme:light;--ui-fg-success: #166b2e;--ui-fg-attention: #805400;--ui-fg-danger: #c1121f;--ui-fg-done: #8250df;--ui-fg-on-emphasis: #ffffff;--ui-bg-neutral-muted: rgb(15 20 25 / 10%);--ui-bg-success-muted: rgb(0 186 124 / 12%);--ui-bg-attention-muted: rgb(255 122 0 / 14%);--ui-bg-danger-muted: rgb(244 33 46 / 12%);--ui-bg-done-muted: rgb(120 86 255 / 12%);--ui-overlay-backdrop: rgb(0 0 0 / 40%);--ui-shadow-control-focus: 0 1px 2px rgb(20 20 19 / 8%), 0 3px 10px rgb(20 20 19 / 10%);--ui-scrollbar-track: transparent;--ui-scrollbar-thumb: #aaa79e;--ui-scrollbar-thumb-hover: #77756e;--x-fg-primary: var(--ui-fg-default);--x-fg-secondary: var(--ui-fg-muted);--x-accent: var(--ui-fg-link);--x-accent-hover: var(--ui-fg-link-hover);--x-border: var(--ui-border-default);--x-surface-subtle: var(--ui-bg-subtle);--color-bg-950: var(--ui-bg-default);--color-bg-900: var(--ui-bg-default);--color-bg-850: var(--ui-bg-subtle);--color-bg-800: var(--ui-bg-muted);--color-accent: var(--ui-fg-link);--color-accent-hover: var(--ui-fg-link-hover);--color-accent-soft: var(--ui-bg-accent-muted);--color-accent-bg: var(--ui-bg-accent-muted);--color-accent-bg-hover: var(--ui-bg-accent-muted);--color-accent-border: var(--ui-border-accent-emphasis);--color-success: var(--ui-fg-success);--color-success-soft: var(--ui-bg-success-muted);--color-warning: var(--ui-fg-attention);--color-warning-soft: var(--ui-bg-attention-muted);--color-info: var(--ui-fg-link);--color-info-soft: var(--ui-bg-accent-muted);--color-danger: var(--ui-fg-danger);--color-danger-soft: var(--ui-bg-danger-muted);--color-emphasis: var(--ui-fg-done);--text-accent: var(--ui-fg-link);--text-link: var(--ui-fg-link);--text-link-hover: var(--ui-fg-link-hover);--text-interactive: var(--ui-fg-link);--text-info: var(--ui-fg-link);--text-success: var(--ui-fg-success);--text-warning: var(--ui-fg-attention);--text-strong: var(--ui-fg-default);--text-emphasis: var(--ui-fg-done);--text-selection: var(--theme-ink);--surface-dropdown: var(--ui-bg-default);--surface-selection: #ccecff;--surface-scrollbar-vertical: var(--ui-scrollbar-thumb);--surface-scrollbar-horizontal: var(--ui-scrollbar-thumb);--border-accent: var(--ui-border-accent-emphasis);--border-hr: var(--ui-border-muted);--shadow-card-hover: none;--shadow-focus: var(--ui-focus-shadow);--layout-page-inset: max(clamp(16px, 2vw, 32px), calc((100vw - var(--layout-content-max)) / 2));--layout-body-margin-x: var(--layout-page-inset);--radius-xl: 8px;--radius-2xl: 8px;--radius-3xl: 6px;--table-head-bg: var(--ui-bg-muted);--table-row-alt-bg: var(--ui-bg-default);--table-row-hover-bg: var(--ui-bg-subtle);--code-radius: 6px;--code-border: var(--ui-border-default);--code-bg-start: var(--ui-bg-subtle);--code-bg-end: var(--ui-bg-subtle);--code-header-bg: var(--ui-bg-subtle);--code-header-border: var(--ui-border-muted);--code-lang-text: var(--ui-fg-muted);--code-copy-text: var(--ui-fg-muted);--code-line-text: var(--ui-fg-muted);--code-line-border: var(--ui-border-muted);--inline-code-text: var(--ui-fg-default);--inline-code-bg: var(--ui-bg-neutral-muted);--inline-code-border: transparent;--blockquote-border: var(--theme-quote-border);--blockquote-bg: var(--theme-quote-paper)}@media(max-width: 900px){:root{--layout-page-inset: 16px;--layout-body-margin-x: 16px}}@media(max-width: 768px){:root{--layout-page-inset: 12px;--layout-body-margin-x: 12px;--type-meta: 0.8125rem;--type-body-large: 1rem;--type-title: 1.0625rem;--type-heading-small: 1.1875rem;--type-heading: 1.375rem;--type-page-title: 1.625rem;--leading-body: 1.75}}:root{--theme-canvas: #fdfdf7;--theme-surface: var(--theme-canvas);--theme-footer-surface: var(--theme-canvas);--theme-footer-text: #5e5d59;--theme-footer-heading: #141413;--theme-footer-border: #deddd6;--theme-surface-subtle: #f7f6f0;--theme-toolbar-bg: var(--theme-canvas);--theme-list-hover: #f4f3ed;--theme-surface-hover: #eeece5;--theme-control-active: #eeece5;--theme-control-border: #d8d6ce;--theme-chip-surface: #f7f6f0;--theme-chip-border: #d8d6ce;--theme-chip-hover: #eeece5;--theme-chip-text: #4d4c48;--theme-inset-surface: #eeece5;--theme-ink: #141413;--theme-muted: #5e5d59;--theme-faint: #73726c;--theme-border: #deddd6;--theme-border-muted: #deddd6b3;--theme-border-strong: #aaa79e;--theme-collection-border: #d8d6ce;--theme-link: #0969da;--theme-accent-subtle: #eaf2fb;--theme-accent-border: #9bbfe7;--theme-quote-paper: rgb(247 246 240 / 82%);--theme-quote-border: #d8d6ce;--theme-quote-accent: #595751;--theme-table-header: var(--theme-surface-subtle);--theme-table-stripe: var(--theme-surface);--theme-table-hover: var(--theme-surface-hover);--theme-code-surface: var(--theme-surface);--ui-fg-default: var(--theme-body);--ui-fg-muted: var(--theme-muted);--ui-fg-subtle: var(--theme-muted);--ui-fg-disabled: var(--theme-faint);--ui-bg-canvas: var(--theme-canvas);--ui-bg-default: var(--theme-surface);--ui-bg-subtle: var(--theme-surface-subtle);--ui-bg-muted: var(--theme-surface-subtle);--ui-bg-hover: var(--theme-surface-hover);--ui-border-default: var(--theme-border);--ui-border-muted: var(--theme-border-muted);--ui-border-emphasis: var(--theme-border-strong);--ui-fg-link: var(--theme-link);--ui-fg-link-hover: var(--theme-link);--ui-bg-accent-muted: var(--theme-accent-subtle);--ui-bg-accent-emphasis: var(--theme-brand);--ui-border-accent-emphasis: var(--theme-brand);--ui-focus-outline: var(--theme-brand);--ui-focus-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-brand) 30%, transparent);--ui-shadow-resting: none;--ui-shadow-control: none;--ui-shadow-overlay: 0 16px 40px rgb(20 20 19 / 10%);--surface-body: var(--theme-canvas);--surface-card: var(--theme-surface);--surface-card-subtle: var(--theme-surface-subtle);--surface-card-hover: var(--theme-surface-hover);--surface-raised: var(--theme-surface-subtle);--surface-overlay: var(--theme-surface);--text-primary: var(--theme-body);--text-heading: var(--theme-ink);--text-secondary: var(--theme-muted);--text-muted: var(--theme-muted);--border-color: var(--theme-border);--border-color-strong: var(--theme-border-strong);--border-heading: var(--theme-border);--shadow-card: none;--shadow-overlay: var(--ui-shadow-overlay);--layout-content-max: 1800px;--layout-article-max: 1280px;--layout-sidebar-width: 340px;--layout-sidebar-gap: 12px;--radius-card: 10px;--radius-grouped: 14px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 16px;--leading-body: 1.78;--measure-reading: 74ch;--article-block-gap: 20px;--article-heading-gap: 32px;--article-heading-after: 12px;--theme-prose-size: 16px;--theme-prose-leading: 1.8;--theme-body: #292824;--theme-brand: #0969da;--theme-brand-soft: #ddf4ff}.collection-toolbar--summary{min-height:44px}html{background:var(--ui-bg-canvas)}body{background:var(--ui-bg-canvas)}.animate__animated{animation:none !important}a,button,input,select{transition:none !important}a:hover,button:hover{transform:none !important}.body .main-content a:link,.body .main-content a:visited{color:var(--ui-fg-link)}.body .main-content a:hover,.body .main-content a:focus-visible{color:var(--ui-fg-link-hover);text-decoration:underline;text-underline-offset:2px}#page{--layout-header-top: 0px;--layout-header-offset: calc( var(--layout-header-top) + var(--layout-header-height) + var(--layout-header-gap) )}.body .main-content{width:min(100% - 2*var(--layout-page-inset),var(--layout-content-max));max-width:none;margin-inline:auto;padding:0;border:0;background:rgba(0,0,0,0);box-shadow:none}@media(max-width: 900px){.body .main-content{width:calc(100% - 32px)}}@media(max-width: 768px){#page{--layout-header-offset: calc( var(--layout-header-top) + var(--layout-header-height) + var(--layout-header-gap) )}}@media(max-width: 768px){.body .main-content{width:calc(100% - 24px)}}.post-toolbar-state,.post-toolbar-actions{display:inline-flex;align-items:center}.post-toolbar-state{gap:8px;min-height:32px;color:var(--ui-fg-default);font-weight:var(--weight-strong)}.post-toolbar-state>.ui-icon{font-size:16px}.post-toolbar-actions{justify-content:flex-end;gap:2px;margin-left:auto}.post-list-empty{display:grid;justify-items:center;gap:6px;padding:48px 16px;color:var(--ui-fg-muted);list-style:none;text-align:center}.post-list-empty i{margin-bottom:4px;font-size:24px}.post-list-empty strong{color:var(--ui-fg-default);font-size:15px}.post-list-empty span{font-size:13px}@media(max-width: 768px){.post-toolbar-state{gap:6px;font-size:12px}}@media(max-width: 768px){.post-toolbar-actions{gap:0}}body.not-found-view #page{min-height:100dvh}body.not-found-view,body.not-found-view .site-header{background:var(--theme-surface)}body.not-found-view .body .main-content{height:calc(100dvh - var(--layout-header-offset));min-height:0}.not-found-page{display:grid;align-items:center;min-height:100%;padding:clamp(40px,8vh,80px) clamp(12px,4vw,64px);font-family:var(--font-ui),sans-serif}.not-found-inner{margin-inline:auto}.not-found-code{grid-template-columns:auto minmax(40px, 1fr);align-items:center;gap:16px}.not-found-code::after{height:1px;background:var(--ui-border-default);content:""}.not-found-content{min-width:0}.not-found-content h1{margin:0;padding:0;border:0;color:var(--ui-fg-default);font-variation-settings:"opsz" 48}.not-found-description{max-width:48ch;margin:18px 0 0;color:var(--ui-fg-muted);line-height:1.72}@media(max-width: 768px){.not-found-page{padding:clamp(28px,7vh,52px) 4px}}@media(max-width: 768px){.not-found-code{gap:12px}}@media(max-width: 768px){.not-found-description{margin-top:14px;font-size:15.5px}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}html{color-scheme:light}body{-webkit-font-smoothing:antialiased}#page{--layout-header-height: 64px;--layout-header-gap: 28px}.body .main-content{min-height:calc(100dvh - 156px)}@media(max-width: 768px){#page{--layout-header-height: 52px;--layout-header-gap: 18px}}.not-found-inner{width:min(100%,560px);text-align:center}.not-found-code{display:block;margin:0 0 14px;color:var(--theme-ink);font-family:var(--font-ui),sans-serif;font-size:48px;font-weight:var(--weight-strong);line-height:1;letter-spacing:-0.04em}.not-found-code::after{display:none}.not-found-content{max-width:none}.not-found-content h1{font-family:var(--font-heading);font-size:30px;font-weight:var(--weight-regular);line-height:1.15;letter-spacing:-0.02em}.not-found-description{margin-inline:auto;font-size:16px}@media(max-width: 768px){.not-found-code{margin-bottom:12px;font-size:44px}}@media(max-width: 768px){.not-found-content h1{font-size:28px}}html,body{background:var(--theme-canvas)}body{color:var(--theme-body);font-family:var(--font-body);font-size:var(--type-body);line-height:1.65}.site-header{position:fixed;inset:0 0 auto;padding:8px var(--layout-page-inset);border:0;border-radius:0}.site-header::before,.site-header::after{display:none}.site-header .nav-global{gap:28px}.site-header .nav-global .logo .logo-link{letter-spacing:-0.01em}.site-header .nav-global ul{gap:2px}.site-header .nav-global ul :is(a,button).nav-link{height:40px;min-height:40px;padding:8px 12px;border:0;border-radius:6px;background:rgba(0,0,0,0);box-shadow:none}.site-header .nav-global ul :is(a,button).nav-link i{display:inline-flex;align-items:center;justify-content:center;height:16px;line-height:1;width:16px;font-size:16px;text-align:center}.site-header .nav-global a.nav-link>.ui-icon{color:var(--theme-chip-text)}.site-header .nav-global a.nav-link>.icon-code::before{transform:scale(1.1)}.site-header .nav-global ul :is(a,button).nav-icon-link{width:40px;min-width:40px;padding-inline:0}.ui-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-0.125em}.ui-icon::before{content:"";display:block;width:100%;height:100%;background:currentcolor;mask:var(--icon-image) center/contain no-repeat}.icon-file-text{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/file-text.svg")}.icon-folder{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/folder.svg")}.icon-bookmark{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/bookmark.svg")}.icon-archive{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/archive.svg")}.icon-search{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/search.svg")}.icon-arrow-left{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/arrow-left.svg")}.icon-arrow-right{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/arrow-right.svg")}.icon-calendar{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/calendar.svg")}.icon-calendar-x{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/calendar-x.svg")}.icon-chart-no-axes-column{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/chart-no-axes-column.svg");color:var(--theme-ink)}.icon-check{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/check.svg")}.icon-chevron-down,.icon-chevron-right{width:18px;height:18px}.icon-chevron-down{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/chevron-down.svg")}.icon-chevron-right{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/chevron-right.svg")}.icon-circle{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/circle.svg")}.icon-circle-check{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/circle-check.svg")}.icon-clock{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/clock.svg")}.icon-code{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/code.svg")}.site-header .nav-link>.icon-code,.post-toolbar-state>.icon-code,.search-entity-icon>.icon-code{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/code-xml.svg")}.icon-github{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/github.svg")}.icon-list{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/list.svg")}.icon-mail{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/mail.svg")}.icon-menu{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/menu.svg")}.icon-minus{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/minus.svg")}.icon-plus{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/plus.svg")}.icon-rotate-ccw{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/rotate-ccw.svg")}.icon-sliders-horizontal{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/sliders-horizontal.svg")}.icon-user{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/user.svg")}.icon-x{--icon-image: url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/x.svg")}.site-header .nav-global ul button.nav-search{border:0;background:rgba(0,0,0,0);box-shadow:none;-webkit-appearance:none;appearance:none}.site-header .nav-global ul :is(a,button).nav-link:hover,.site-header .nav-global ul :is(a,button).nav-link:focus-visible,.site-header .nav-global ul :is(a,button).nav-link.active,.site-header .nav-global ul :is(a,button).nav-link[aria-current=page]{background:var(--ui-bg-muted);color:var(--text-heading);transform:none}@media(max-width: 768px){.site-header{left:0;right:0;min-height:52px;padding:4px 12px;border-radius:0;border-bottom:1px solid var(--border-color);box-shadow:none}}@media(max-width: 768px){.site-header.is-menu-open{border-radius:0}}@media(max-width: 768px){.site-header .nav-global{height:44px;min-height:44px;gap:0}}.site-header .nav-global ul button.nav-search-trigger:focus-visible{border-color:var(--ui-focus-outline);outline-offset:2px}.nav-search-label{flex:1 1 auto;text-align:left}.nav-search-shortcut{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--ui-border-default);border-radius:4px;background:var(--ui-bg-muted);color:var(--ui-fg-muted);font:11px/1 var(--font-ui),sans-serif;box-shadow:none}@media(max-width: 1100px)and (min-width: 769px){.nav-search-label,.nav-search-shortcut{display:none}}.site-header{min-height:var(--layout-header-height);padding-block:10px;backdrop-filter:none}.site-header .nav-global{width:min(100%,var(--layout-content-max));height:44px;min-height:44px;margin-inline:auto}.site-header .nav-global .logo .logo-link{height:44px;min-height:44px}.site-header .site-avatar{width:34px;height:34px}.site-header .nav-global ul :is(a,button).nav-link:hover,.site-header .nav-global ul :is(a,button).nav-link:focus-visible{background:var(--theme-surface-hover);color:var(--theme-ink)}.site-header .nav-global>ul>li>a.nav-link:hover{background:rgba(0,0,0,0)}.site-header .nav-global ul .nav-search-item{margin-left:12px}.site-header .nav-global ul button.nav-search-trigger{width:clamp(240px,22vw,332px);min-width:240px;height:36px;min-height:36px;justify-content:flex-start;gap:8px;padding:0 12px 0 14px;border:0;border-radius:12px;background:var(--theme-surface);box-shadow:0 0 0 1px color-mix(in oklch, var(--theme-border-strong) 72%, transparent),0 1px 2px oklch(.24 .02 255/.04);color:var(--theme-muted);font-size:14px;line-height:24px}.site-header .nav-global ul button.nav-search-trigger:hover{border:0;background:var(--theme-surface);box-shadow:0 0 0 1px var(--theme-border-strong),0 2px 5px oklch(.24 .02 255/.07);color:var(--theme-ink)}.site-header .nav-global ul button.nav-search-trigger:focus-visible{border:0;background:var(--theme-surface);box-shadow:0 0 0 1px var(--theme-border-strong),0 0 0 3px color-mix(in oklch, var(--theme-link) 24%, transparent);color:var(--theme-ink);outline:none}.site-header .nav-search-trigger>i{color:var(--theme-muted);font-size:16px}.site-header .nav-search-label{color:inherit}.site-header .nav-search-shortcut{width:auto;height:auto;min-width:0;padding:0;border:0;border-radius:0;background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-muted);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-strong);line-height:16px}@media(max-width: 1100px)and (min-width: 769px){.site-header .nav-global ul .nav-search-item{margin-left:4px}}@media(max-width: 1100px)and (min-width: 769px){.site-header .nav-global ul button.nav-search-trigger{width:36px;min-width:36px;padding:0;justify-content:center}}@media(max-width: 1100px)and (min-width: 769px){.site-header .nav-global ul button.nav-search-trigger :is(.nav-search-label,.nav-search-shortcut){display:none}}@media(max-width: 768px){.site-header{padding-block:4px;background:var(--theme-surface)}}@media(prefers-reduced-motion: reduce){.site-header{backdrop-filter:none}}.site-header{border-bottom:1px solid var(--theme-border);background:var(--theme-toolbar-bg);box-shadow:none}.site-header .nav-global .logo .logo-link{gap:8px;color:var(--theme-ink);font-family:var(--font-heading);font-size:20px;font-weight:var(--weight-strong)}.site-header .nav-global .logo .logo-link:hover,.site-header .nav-global .logo .logo-link:focus-visible{background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-link);text-decoration:none;transform:none}.site-header .nav-global .logo .logo-link:hover>span,.site-header .nav-global .logo .logo-link:focus-visible>span{text-decoration:none}.site-header .site-avatar{border:0;box-shadow:none}.site-header .nav-global ul :is(a,button).nav-link{color:var(--theme-muted);font-family:var(--font-ui);font-size:14px;font-weight:var(--weight-strong)}.site-header .nav-global>ul>li>a.nav-link[aria-current=page]{position:relative;border-radius:0;background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-ink)}.site-header .nav-global>ul>li>a.nav-link[aria-current=page]::after{position:absolute;bottom:-13px;left:50%;width:56px;height:4px;border-radius:9999px;background:var(--theme-brand);content:"";transform:translateX(-50%)}.site-header .nav-global>ul>li>a.nav-link[aria-current=page]:hover,.site-header .nav-global>ul>li>a.nav-link[aria-current=page]:focus-visible{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-ink)}.site-header .nav-global>ul>.nav-search-item>button.nav-search-trigger{border:0;border-radius:12px;background:var(--theme-canvas);box-shadow:0 0 0 1px rgba(163,163,163,.3);color:var(--theme-muted);font-size:14px;font-weight:400}.site-header .nav-global>ul>.nav-search-item>button.nav-search-trigger:hover,.site-header .nav-global>ul>.nav-search-item>button.nav-search-trigger:focus-visible{border:0;background:var(--theme-canvas);box-shadow:0 0 0 1px rgba(82,82,82,.3);color:var(--theme-ink)}.site-header .nav-global>ul>.nav-search-item>button.nav-search-trigger:focus-visible{box-shadow:0 0 0 1px var(--theme-link);outline:2px solid rgba(9,105,218,.28);outline-offset:2px}@media(max-width: 768px){.site-header .nav-global .logo .logo-link{font-size:18px;font-weight:700}.site-header .nav-global .logo .logo-link:hover,.site-header .nav-global .logo .logo-link:focus-visible{color:var(--theme-link)}}.article-body.layout-listing .article-inner{padding:0 16px 24px}.article-body.layout-listing .detail-total{margin:0;color:var(--text-muted);font-size:14px}.article-body.layout-listing .post-list .post-item{border-top-color:var(--border-color)}.article-body.layout-listing .post-list .post-item:last-child,.article-body.layout-listing .post-list .post-item.is-visible-tail{border-bottom-color:var(--border-color)}.article-body.layout-listing .post-list .post-title a{color:var(--ui-fg-link)}.article-body.layout-listing .post-list .post-title a:hover,.article-body.layout-listing .post-list .post-title a:focus-visible{color:var(--ui-fg-link);text-decoration:underline}.collection-toolbar{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin:0;padding:10px 0;border-bottom:1px solid var(--border-color)}.collection-description{margin:0;color:var(--text-muted);font-size:14px}.collection-toolbar :is(.detail-total,.collection-description){display:inline-flex;align-items:center;min-height:36px;line-height:1.4}.article-body .collection-index{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:40px;margin:0;padding:0;border-top:0;list-style:none}.collection-index-item{min-width:0;padding:0;border-bottom:1px solid var(--border-color);list-style:none}.collection-index-item:nth-child(odd){margin-right:0}.collection-index-item>a{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:48px;padding:8px;overflow:hidden;color:var(--ui-fg-link);font-weight:var(--weight-strong);text-overflow:ellipsis;white-space:nowrap}.collection-index-label{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis}.collection-index-label>span{overflow:hidden;text-overflow:ellipsis}.collection-index-item>a:hover,.collection-index-item>a:focus-visible{background:var(--ui-bg-muted);color:var(--ui-fg-link);text-decoration:underline;outline:none}.collection-index-item>a:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-focus-outline)}.collection-index-count{flex:0 0 auto;min-width:28px;margin-left:12px;padding:1px 7px;border-radius:999px;background:var(--ui-bg-neutral-muted);color:var(--ui-fg-muted);font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.archive-index{border-top:0}.archive-index-year{display:grid;grid-template-columns:100px 64px minmax(0, 1fr);gap:16px;padding:18px 8px;border-bottom:1px solid var(--border-color)}.archive-index-year h2{margin:0;padding:0;border:0;font-size:20px;line-height:1.5}.archive-index-year h2 a{color:var(--ui-fg-default)}.archive-index-year h2 a:hover{color:var(--ui-fg-link);text-decoration:underline}.archive-index-year-count{padding-top:5px;color:var(--text-muted);font-size:13px}.archive-index-year ul{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:6px 20px;margin:0;padding:0;list-style:none}.archive-index-year li{display:flex;justify-content:space-between;gap:10px;min-width:0;padding:4px 0;list-style:none}.archive-index-year li a{min-width:0;overflow:hidden;color:var(--ui-fg-link);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap}.archive-index-year li a:hover{color:var(--ui-fg-link);text-decoration:underline}.archive-index-year li span{color:var(--text-muted);font-size:13px;white-space:nowrap}@media(max-width: 768px){.article-body.layout-listing .article-inner,.article-body.layout-article{padding-inline:0}}@media(max-width: 768px){.article-body .collection-index{grid-template-columns:1fr;column-gap:0}}@media(max-width: 768px){.collection-index-item:nth-child(odd){margin-right:0}}@media(max-width: 768px){.archive-index-year{grid-template-columns:1fr auto;gap:4px 12px}}@media(max-width: 768px){.archive-index-year ul{grid-column:1/-1;grid-template-columns:repeat(2, minmax(0, 1fr));margin-top:8px}}@media(max-width: 768px){.article-body.layout-listing .post-row-main{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:center;gap:8px 12px}}@media(max-width: 768px){.article-body.layout-listing .post-title{min-width:0}}@media(max-width: 768px){.article-body.layout-listing .post-title a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width: 768px){.article-body.layout-listing .post-meta-right{display:contents}}@media(max-width: 768px){.collection-toolbar{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:center;gap:12px;min-height:44px;padding:8px 0}}@media(max-width: 768px){.collection-toolbar :is(.detail-total,.collection-description){align-self:center;line-height:1.4}}.article-body.layout-listing .collection-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;min-height:44px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--ui-bg-muted)}.article-body.layout-listing .post-list{border:1px solid var(--border-color);border-top:0}.article-body.layout-listing .post-list .post-item,.article-body.layout-listing .post-list .post-item:last-child,.article-body.layout-listing .post-list .post-item.is-visible-tail{border-top:1px solid var(--border-color);border-bottom:0}.article-body.layout-listing .post-list .post-item:first-child{border-top:0}.article-body.layout-listing .post-list .post-title:hover,.article-body.layout-listing .post-list .post-title:focus-visible{color:var(--ui-fg-link)}.article-body.layout-listing .post-list .post-frequency{color:var(--ui-fg-muted)}.post-toolbar-state .detail-total{min-height:0;color:inherit;font-weight:inherit}@media(max-width: 768px){.article-body.layout-listing .collection-toolbar{gap:4px 8px;min-height:44px;padding:6px 10px}}@media(max-width: 360px){.article-body.layout-listing .post-row{gap:8px}}@media(max-width: 360px){.article-body.layout-listing .post-title{font-size:14px}}@media(max-width: 360px){.article-body.layout-listing .post-row-content{column-gap:4px}}@media(max-width: 360px){.article-body.layout-listing .post-row-date{gap:0;font-size:11px}}@media(max-width: 360px){.article-body.layout-listing .post-row-date .post-date-icon{display:none}}.article-body.layout-listing>.article-inner>.collection-toolbar{padding:6px 12px;border:1px solid var(--ui-border-default);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--ui-bg-muted)}.article-body.layout-listing>.article-inner>.collection-index,.article-body.layout-listing>.article-inner>.archive-index{border:1px solid var(--ui-border-default);border-top:0;overflow:hidden}.article-body.layout-listing .collection-index-item{padding:0;list-style:none}.article-body.layout-listing .collection-index-item:last-child,.article-body.layout-listing .archive-index-year:last-child{border-bottom:0}@media(min-width: 769px){.article-body.layout-listing .collection-index-item:nth-last-child(2):nth-child(odd){border-bottom:0}}.article-body.layout-listing .collection-index-item>a{padding:10px 16px}.article-body.layout-listing .collection-index-item a i{font-size:13px}.article-body.layout-listing .collection-index-item:hover,.article-body.layout-listing .archive-index-year:hover{background:var(--ui-bg-muted)}.article-body.layout-listing .archive-index-year{padding-inline:16px}.article-body.layout-listing .archive-index-year li{list-style:none}.article-body.layout-listing .archive-index-year h2 a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.article-body.layout-listing .archive-index-year h2 i{color:var(--ui-fg-muted);font-size:15px}.collection-empty{margin:0;padding:48px 16px;border:1px solid var(--ui-border-default);border-top:0;color:var(--ui-fg-muted);text-align:center}@media(max-width: 768px){.article-body.layout-listing .archive-index-year{padding-inline:12px}}.article-body.layout-listing{width:100%;margin-inline:auto}.article-body.layout-listing>.article-inner{padding:0 32px}.article-body.layout-listing .page-header{margin-bottom:18px;padding:2px 0 10px;border-bottom:0}.article-body.layout-listing .page-header .entry-title{font-variation-settings:"opsz" 48}.article-body.layout-listing .post-list .post-row:hover{background:var(--theme-surface-hover)}.article-body.layout-listing .post-title{color:var(--theme-ink);font-size:17px;font-weight:var(--weight-strong)}.article-body.layout-listing .post-title:hover,.article-body.layout-listing .post-title:focus-visible{color:var(--theme-link)}.article-body.layout-listing>.article-inner>.collection-index,.article-body.layout-listing>.article-inner>.archive-index{border-color:var(--theme-collection-border);border-radius:0 0 var(--radius-grouped) var(--radius-grouped);background:var(--theme-surface);box-shadow:var(--shadow-card)}.article-body.layout-listing .collection-index-item{border-color:var(--theme-border)}.article-body.layout-listing .collection-index-item>a{min-height:52px;color:var(--theme-ink);font-weight:var(--weight-medium);text-decoration:none}.article-body.layout-listing .collection-index-item>a:hover,.article-body.layout-listing .collection-index-item>a:focus-visible{background:var(--theme-surface-hover);color:var(--theme-ink);text-decoration:none}.article-body.layout-listing .collection-index-item>a:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklch, var(--theme-link) 38%, transparent)}.article-body.layout-listing .collection-index-item a i{color:var(--theme-faint)}.article-body.layout-listing .collection-index-count{min-width:32px;margin-left:8px;padding:2px 7px;border:1px solid var(--theme-border);border-radius:6px;font-weight:var(--weight-medium);line-height:1.35}.article-body.layout-listing:has(.collection-index) .page-header{margin-bottom:20px}.article-body.layout-listing:has(.collection-index)>.article-inner>.collection-toolbar{padding:7px 12px 7px 16px;border-color:var(--theme-collection-border);border-radius:var(--radius-grouped) var(--radius-grouped) 0 0;background:var(--theme-surface-subtle);box-shadow:none}.article-body.layout-listing:has(.collection-index) .collection-description{font-size:15px;font-weight:var(--weight-regular)}.article-body.layout-listing:has(.collection-index) .post-toolbar-actions{gap:2px}.article-body.layout-listing:has(.collection-index)>.article-inner>.collection-index{column-gap:0;border-color:var(--theme-collection-border);border-radius:0 0 var(--radius-grouped) var(--radius-grouped);background:var(--theme-surface);box-shadow:var(--shadow-card)}.article-body.layout-listing:has(.collection-index) .collection-index-item{border-color:var(--theme-border);background:var(--theme-surface)}.article-body.layout-listing:has(.collection-index) .collection-index-item>a{min-height:54px;padding:14px 20px;color:var(--theme-ink);font-family:var(--font-ui);font-size:16px;font-weight:var(--weight-medium);transition:background-color 120ms ease-out,color 120ms ease-out}.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible{background:var(--theme-surface-hover);color:var(--theme-ink)}.article-body.layout-listing:has(.collection-index) .collection-index-item a i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;box-sizing:border-box;border:0;border-radius:0;background:rgba(0,0,0,0);color:var(--theme-muted);font-size:16px;transition:border-color 120ms ease-out,background-color 120ms ease-out,color 120ms ease-out}.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover i,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible i{border-color:var(--theme-border-strong);background:rgba(0,0,0,0);color:var(--theme-ink)}.article-body.layout-listing:has(.collection-index) .collection-index-count{min-width:32px;padding:2px 9px;border-color:var(--theme-border);border-radius:999px;background:var(--theme-surface-subtle);color:var(--theme-muted);font-family:var(--font-number),var(--font-ui),sans-serif;font-size:13px;font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;line-height:1.4;transition:border-color 120ms ease-out,background-color 120ms ease-out,color 120ms ease-out}.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover .collection-index-count,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible .collection-index-count{border-color:var(--theme-border-strong);background:var(--theme-surface-subtle);color:var(--theme-ink)}.article-body.layout-listing .archive-index-year h2 a{color:var(--theme-link);font-size:24px;font-weight:var(--weight-regular)}.article-body.layout-listing .archive-index-year li a{color:var(--theme-link);font-size:16px;font-weight:var(--weight-medium)}.article-body.layout-listing .archive-index-year h2 a:hover,.article-body.layout-listing .archive-index-year h2 a:focus-visible,.article-body.layout-listing .archive-index-year li a:hover,.article-body.layout-listing .archive-index-year li a:focus-visible{color:var(--theme-link);text-decoration:underline;text-underline-offset:3px}.article-body.layout-listing .archive-index-year{transition:background-color 120ms ease-out}.article-body.layout-listing .archive-index-year:hover{background:var(--theme-surface-hover)}.article-body.layout-listing :is(.detail-total,.post-row-date,.collection-index-count,.archive-index-year h2 a,.archive-index-year-count,.archive-index-year li a,.archive-index-year li span){font-family:var(--font-number),var(--font-ui),sans-serif;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.article-body.layout-listing .post-frequency{font-family:var(--font-ui),sans-serif}.article-body.layout-listing .post-frequency strong{font-family:var(--font-number),var(--font-ui),sans-serif}.article-body.layout-listing :is(.archive-index-year-count,.archive-index-year li span){font-weight:var(--weight-medium)}@media(max-width: 768px){.article-body.layout-listing>.article-inner{padding-inline:0}}@media(max-width: 768px){.article-body.layout-listing .page-header{margin-bottom:12px;padding:2px 0 8px}}@media(max-width: 768px){.article-body.layout-listing .collection-toolbar{padding-inline:10px}}@media(max-width: 768px){.article-body.layout-listing .post-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:17px;overflow-wrap:anywhere;white-space:normal}}@media(max-width: 420px){.article-body.layout-listing .post-row-date{font-size:13px}}.article-body.layout-listing{--radius-grouped: 6px}.article-body.layout-listing .blog-home-all-panel,.article-body.layout-listing .archive-detail-wrap{border:1px solid var(--theme-collection-border);border-radius:var(--radius-grouped)}.article-body.layout-listing:has(.collection-index){--radius-grouped: 8px}.article-body.layout-listing .page-header .entry-title{font-family:var(--font-heading);font-size:clamp(2rem,2.5vw,2.25rem);font-weight:var(--weight-medium);letter-spacing:-0.015em;line-height:1.12}.article-body.layout-listing>.article-inner>.collection-toolbar,.article-body.layout-listing .collection-toolbar{min-height:52px;padding:7px 16px;border:0;border-bottom:1px solid var(--theme-collection-border);border-radius:var(--radius-grouped) var(--radius-grouped) 0 0;background:var(--theme-surface-subtle);box-shadow:none}.article-body.layout-listing .post-toolbar-state{color:var(--theme-ink);font-size:14px;font-weight:var(--weight-strong)}.article-body.layout-listing>.article-inner>.collection-toolbar{border:1px solid var(--theme-collection-border)}.article-body.layout-listing .post-list{border:0;border-radius:0 0 var(--radius-grouped) var(--radius-grouped);background:var(--theme-surface);box-shadow:none}.article-body.layout-listing .post-list .post-item,.article-body.layout-listing .post-list .post-item:last-child,.article-body.layout-listing .post-list .post-item.is-visible-tail{border-color:var(--theme-collection-border)}.article-body.layout-listing .post-list .post-row{min-height:54px;box-sizing:border-box;align-items:center;padding:14px 20px;background:var(--theme-surface)}.article-body.layout-listing .post-list .post-row:hover,.article-body.layout-listing .post-list .post-row:focus-visible{background:var(--theme-surface-hover)}.article-body.layout-listing .post-list .post-title{color:var(--theme-ink);font-family:var(--font-ui);font-size:16px;font-weight:var(--weight-strong);line-height:1.65}.article-body.layout-listing .post-row:hover .post-title,.article-body.layout-listing .post-row:focus-visible .post-title{color:var(--theme-link);text-decoration:underline;text-underline-offset:3px}.article-body.layout-listing .post-row-date{color:var(--theme-muted);font-size:13px}.article-body.layout-listing .collection-index-item>a,.article-body.layout-listing:has(.collection-index) .collection-index-item>a{min-height:54px;padding:14px 20px;color:var(--theme-link);font-size:16px;font-weight:var(--weight-strong);line-height:1.65}.article-body.layout-listing .collection-index-item>a:hover,.article-body.layout-listing .collection-index-item>a:focus-visible,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible{background:var(--theme-surface-hover);color:var(--theme-link)}.article-body.layout-listing .collection-index-item:hover,.article-body.layout-listing:has(.collection-index) .collection-index-item:hover{background:var(--theme-surface)}.article-body.layout-listing .collection-index-item>a:hover .collection-index-label>span,.article-body.layout-listing .collection-index-item>a:focus-visible .collection-index-label>span,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover .collection-index-label>span,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible .collection-index-label>span{text-decoration:underline;text-underline-offset:3px}.article-body.layout-listing .collection-description{color:var(--theme-muted);font-size:15px}.article-body.layout-listing .collection-index-count{border-color:var(--theme-border);background:var(--theme-surface-subtle);color:var(--theme-muted);font-size:13px}@media(max-width: 768px){.article-body.layout-listing .page-header .entry-title{font-size:1.875rem}}@media(max-width: 768px){.article-body.layout-listing .post-list .post-row{min-height:54px;padding:14px 12px}}@media(max-width: 768px){.article-body.layout-listing .post-list .post-title{font-size:16px}}@media(max-width: 768px){.article-body.layout-listing .post-row-date{font-size:13px}}.article-body{padding-inline:0}.article-body .page-header{margin-bottom:0;padding:0 0 12px;border-bottom:1px solid var(--border-color)}.article-body .page-header .entry-title{margin:0;padding:0;border:0;font-family:var(--font-heading),sans-serif;font-size:clamp(1.75rem,3vw,2rem);font-weight:var(--weight-strong);line-height:1.25;letter-spacing:-0.025em}.article-body.layout-article{max-width:none;margin-inline:auto;color:var(--x-fg-primary);font-family:var(--font-reading),sans-serif;font-size:16px;line-height:1.68}.article-body.layout-article>.article-inner{width:100%;max-width:none}.article-body.layout-article .page-header{margin-bottom:0;padding:2px 0 12px;border-bottom:0}.article-body.layout-article .page-header .entry-title{color:var(--x-fg-primary);text-wrap:wrap}.article-body.layout-article .meta{display:block;margin:0 0 20px;padding:0 0 14px;border-top:0;border-bottom:1px solid var(--x-border);color:var(--x-fg-secondary);font-family:var(--font-reading),sans-serif;line-height:1.55}.article-body.layout-article .meta .post-date-publish{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}.article-body.layout-article .meta .post-date-publish .post-meta-pill{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;background:rgba(0,0,0,0);color:var(--x-fg-secondary)}.article-body.layout-article .meta .post-date-publish a{color:var(--ui-fg-link);font-weight:var(--weight-medium)}.article-body.layout-article .meta .post-date-publish a:hover{color:var(--ui-fg-link-hover)}.article-body.layout-article .meta .article-icon{margin:0;color:var(--ui-fg-muted)}.article-body.layout-article .meta .post-meta-details{margin-top:12px;border:1px solid var(--ui-border-default)}.article-body.layout-article .meta .post-meta-details>summary{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;align-items:center;gap:10px;color:var(--ui-fg-default);font-weight:var(--weight-strong);list-style:none}.article-body.layout-article .meta .post-meta-details>summary::-webkit-details-marker{display:none}.article-body.layout-article .meta .post-meta-details>summary:focus-visible{outline:2px solid var(--ui-border-accent-emphasis);outline-offset:-2px}.article-body.layout-article .meta .post-meta-details-title{display:inline-flex;align-items:center}.article-body.layout-article .meta .post-meta-details-count{color:var(--ui-fg-muted);font-size:12px;font-weight:var(--weight-regular)}.article-body.layout-article .meta .post-meta-details-chevron{color:var(--ui-fg-muted);font-size:11px;transition:transform 160ms ease}.article-body.layout-article .meta .post-meta-details[open] .post-meta-details-chevron{transform:rotate(180deg)}.article-body.layout-article .meta .post-meta-details-content{display:grid;border-top:1px solid var(--ui-border-muted)}.article-body.layout-article .meta .post-list-category,.article-body.layout-article .meta .post-list-tag{display:grid}.article-body.layout-article .meta .post-list-head{margin:0}.article-body.layout-article .meta .post-list-linear>.post-meta-badges{display:flex;flex-wrap:wrap;column-gap:8px;row-gap:12px;min-width:0}.article-body.layout-article .meta .post-list-linear .post-meta-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ui-border-default)}.article-body.layout-article .meta .post-list-linear .post-meta-badge span{color:var(--ui-fg-muted);font-size:11px;font-weight:var(--weight-regular)}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li,.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{font-weight:var(--weight-regular)}.article-body.layout-article .article-inner>p{margin:0 0 16px}.article-body.layout-article .article-inner>ul,.article-body.layout-article .article-inner>ol{margin-block:0 16px;padding-left:2em}.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li{margin-block:0;padding-left:0}.article-body.layout-article .article-inner li+li{margin-top:.25em}.article-body.layout-article .article-inner li::marker{color:var(--ui-fg-muted);font-weight:var(--weight-medium)}.article-body.layout-article .article-inner :is(p,li,td,th)>:is(strong,b){color:var(--ui-fg-default);font-weight:var(--weight-medium)}.article-body.layout-article .article-inner>h2{border-bottom:1px solid var(--x-border);color:var(--x-fg-primary)}.article-body.layout-article .article-inner>h2:first-of-type{margin-top:24px}.article-body.layout-article .article-inner>h3{color:var(--x-fg-primary)}.article-body.layout-article .article-inner>h4{margin:24px 0 16px;padding:0;color:var(--x-fg-primary)}.article-body.layout-article .article-inner>blockquote{margin:0 0 16px;padding:16px 20px;border:1px solid var(--theme-quote-border);border-radius:16px;background:var(--theme-quote-paper);box-shadow:none}.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{color:inherit}.article-body.layout-article .article-inner>blockquote>ul{padding-left:2em}.article-body.layout-article .article-inner>blockquote>ol{padding-left:2em}.article-body.layout-article .article-inner>blockquote>:is(ol,ul)>li{padding-left:0}.article-body.layout-article .article-inner>blockquote>:is(p,ol,ul)+:is(p,ol,ul){margin-top:16px}.article-body.layout-article .article-inner>blockquote li+li{margin-top:.25em}.article-body.layout-article .article-inner>blockquote :is(strong,b){color:var(--ui-fg-default) !important}.article-body.layout-article .article-inner :not(pre)>code{border-color:rgba(0,0,0,0)}.article-body.layout-article table{color:var(--ui-fg-default)}.article-body.layout-article .table-wrapper:has(>table){margin-block:0 16px}.article-body.layout-article table tbody tr:hover td{background:var(--ui-bg-hover)}.article-body.layout-article table a{color:var(--ui-fg-link);font-weight:var(--weight-medium);text-decoration:none}.article-body.layout-article table a:hover,.article-body.layout-article table a:focus-visible{color:var(--ui-fg-link-hover);text-decoration:underline;text-underline-offset:2px}.article-body.layout-article img:not(.emoji){border-radius:0;background:var(--ui-bg-default)}.article-body.layout-article hr{height:.25em;margin:24px 0;padding:0;border:0;background:var(--ui-border-muted)}.article-body.layout-article .mermaid-diagram{border-color:var(--border-color);background:var(--ui-bg-default);box-shadow:none}@media(max-width: 768px){.article-body .page-header{margin-bottom:8px;padding:0 0 8px}}@media(max-width: 768px){.article-body .page-header .entry-title,.article-body.layout-article .page-header .entry-title{max-width:none;font-size:var(--type-page-title);line-height:1.26;letter-spacing:-0.025em;text-wrap:pretty}}@media(max-width: 768px){.article-body.layout-article{padding:0 0 20px;font-size:var(--type-body);line-height:1.7}}@media(max-width: 768px){.article-body.layout-article .article-inner>h2{margin-top:24px;line-height:1.35}}@media(max-width: 768px){.article-body.layout-article .article-inner>h3{margin-top:22px;line-height:1.4}}@media(max-width: 768px){.article-body.layout-article .article-inner>h4{font-size:1rem;line-height:1.45}}@media(max-width: 768px){.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li,.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{font-size:var(--type-body);line-height:var(--leading-body)}}@media(max-width: 768px){.article-body.layout-article .article-inner>:is(ol,ul){padding-left:1.5em}}@media(max-width: 768px){.article-body.layout-article .article-inner>blockquote{padding-inline:1em}}@media(max-width: 768px){.article-body.layout-article .article-inner>blockquote>ul{padding-left:1.5em}}@media(max-width: 768px){.article-body.layout-article .article-inner>blockquote>ol{padding-left:1.5em}}@media(max-width: 768px){.article-body.layout-article .article-inner>blockquote>:is(ol,ul)>li{padding-left:0}}.article-body.layout-article .post-nav-footer{margin-top:32px;padding-top:24px;border-top:1px solid var(--ui-border-default)}.article-body.layout-article .post-navigation{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}.article-body.layout-article .post-navigation-link{display:grid;gap:6px;min-width:0;padding:12px 14px;border:1px solid var(--ui-border-default);border-radius:var(--radius-card);background:var(--ui-bg-default);color:var(--ui-fg-default);text-decoration:none}.article-body.layout-article .post-navigation-link:hover,.article-body.layout-article .post-navigation-link:focus-visible{border-color:var(--ui-border-emphasis);background:var(--ui-bg-muted);color:var(--ui-fg-link);outline:none;text-decoration:none}.article-body.layout-article .post-navigation-link:hover .post-navigation-title,.article-body.layout-article .post-navigation-link:focus-visible .post-navigation-title{text-decoration:underline;text-underline-offset:2px}.article-body.layout-article .post-navigation-next{grid-column:2;text-align:right}.article-body.layout-article .post-navigation-label{display:inline-flex;align-items:center;gap:7px;color:var(--ui-fg-muted);font-family:var(--font-ui),sans-serif;font-size:12px;font-weight:var(--weight-medium)}.article-body.layout-article .post-navigation-next .post-navigation-label{justify-content:flex-end}.article-body.layout-article .post-navigation-title{overflow:hidden;font-family:var(--font-ui),sans-serif;font-size:14px;font-weight:var(--weight-strong);line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.article-body.layout-article .post-copyright{grid-template-columns:minmax(0, 1fr);gap:8px;margin-top:24px;padding:12px;border:1px solid var(--ui-border-default);font-family:var(--font-ui),sans-serif;font-size:13px}.article-body.layout-article .post-copyright-title{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:0 0 2px;padding:0 0 10px;border-bottom:1px solid var(--ui-border-default);color:var(--ui-fg-default);font-size:14px;font-weight:var(--weight-strong);line-height:1.4}.article-body.layout-article .post-copyright>div{grid-column:1/-1;display:grid;grid-template-columns:36px minmax(0, 1fr);align-items:start;gap:8px}.article-body.layout-article .post-copyright-meta{color:var(--ui-fg-muted);line-height:1.55;white-space:nowrap}.article-body.layout-article .post-copyright-content{min-width:0}@media(max-width: 768px){.article-body.layout-article .post-navigation{grid-template-columns:1fr}}@media(max-width: 768px){.article-body.layout-article .post-navigation-next{grid-column:1}}@media(max-width: 768px){.article-body.layout-article .post-copyright{grid-template-columns:1fr;gap:8px;padding:10px}}@media(max-width: 768px){.article-body.layout-article .post-copyright>div{grid-template-columns:36px minmax(0, 1fr);gap:8px}}@media(max-width: 768px){.article-body.layout-article .post-copyright-meta{margin-top:0}}.article-body.layout-article{width:min(100% - 48px,var(--layout-article-max));padding:14px clamp(24px,2.5vw,36px) 16px;border:0;border-radius:0;background:rgba(0,0,0,0);box-shadow:none}.article-body.layout-article .page-header{padding-top:0}.article-body.layout-article .page-header .entry-title{max-width:24em;font-family:var(--font-heading);font-size:clamp(2rem,3vw,2.25rem);font-weight:var(--weight-regular);font-variation-settings:"opsz" 48;letter-spacing:-0.02em;line-height:1.12}.article-body.layout-article .meta{margin-bottom:28px;padding-bottom:20px;font-size:15px}.article-body.layout-article .meta .post-meta-details{--post-meta-border: #dedede;--post-meta-hover: rgb(82 82 82 / 5%);overflow:hidden;border-color:var(--post-meta-border);border-radius:8px;background:var(--theme-canvas)}.article-body.layout-article .meta .post-meta-details>summary{min-height:44px;padding:9px 14px;background:rgba(0,0,0,0);font-size:14px}.article-body.layout-article .meta .post-meta-details>summary:hover{background:var(--post-meta-hover)}.article-body.layout-article .meta .post-meta-details-title{gap:7px;font-weight:var(--weight-strong)}.article-body.layout-article .meta .post-meta-details-content{grid-template-columns:minmax(0, 1fr);gap:0;padding:0;border-top-color:var(--post-meta-border);background:var(--theme-surface)}.article-body.layout-article .meta .post-list-category,.article-body.layout-article .meta .post-list-tag{grid-template-columns:64px minmax(0, 1fr);align-items:start;gap:12px;margin:0;padding:12px 14px}.article-body.layout-article .meta .post-list-tag{border-top:1px solid var(--post-meta-border)}.article-body.layout-article .meta .post-list-head{padding-top:3px;color:var(--theme-ink);font-size:14px;font-weight:var(--weight-strong);white-space:nowrap}.article-body.layout-article .meta .post-list-linear>.post-meta-badges{gap:6px;padding:0}.article-body.layout-article .meta .post-list-linear .post-meta-badge{min-height:34px;padding:6px 12px;border:1px solid var(--post-meta-border);border-radius:12px;background:var(--theme-canvas);color:#3e3e3e;font-size:14px;font-weight:500;line-height:20px;text-decoration:none}.article-body.layout-article .meta .post-meta-badge>.ui-icon{width:16px;height:16px;color:inherit}.article-body.layout-article .meta .post-list-linear .post-meta-badge:hover,.article-body.layout-article .meta .post-list-linear .post-meta-badge:focus-visible{border-color:var(--post-meta-border);background:var(--post-meta-hover);color:#3e3e3e;text-decoration:none}.article-body.layout-article .meta .post-list-linear .post-meta-badge:focus-visible{outline:2px solid color-mix(in oklch, var(--theme-link) 35%, transparent);outline-offset:2px}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul,.article-body.layout-article .article-inner>ol{max-width:var(--measure-reading)}.article-body.layout-article .article-inner>p,.article-body.layout-article .article-inner>ul li,.article-body.layout-article .article-inner>ol li,.article-body.layout-article .article-inner>blockquote p,.article-body.layout-article .article-inner>blockquote li{color:var(--theme-body);font-size:var(--theme-prose-size);line-height:var(--theme-prose-leading)}.article-body.layout-article .article-inner>blockquote{color:var(--theme-body);font-family:var(--font-prose-mixed)}.article-body.layout-article .article-inner :not(pre)>code{padding:.1em .32em;border:0;border-radius:4px;background:var(--theme-surface-subtle);color:var(--theme-body);box-shadow:inset 0 0 0 1px var(--theme-border);box-decoration-break:clone;font-size:.95em;font-weight:var(--weight-regular)}.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(:is(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow)){box-sizing:border-box;position:relative;inline-size:100%;margin-block:var(--article-block-gap);padding:16px 20px;border:1px solid var(--theme-quote-border);border-radius:16px;background:var(--theme-quote-paper);box-shadow:none}.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(:is(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow))::before{display:none;content:none}.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(:is(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow))::after{display:none;content:none}.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(:is(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow)) :is(p,li){color:var(--theme-body);line-height:1.65}.article-body.layout-article .article-inner>h2{margin:var(--article-heading-gap) 0 var(--article-heading-after);padding:0;border:0;font-family:var(--font-heading);font-size:24px;font-weight:var(--weight-regular);letter-spacing:0;line-height:1.4}.article-body.layout-article .article-inner>h3{margin:var(--article-heading-gap) 0 var(--article-heading-after);padding:0;border:0;font-family:var(--font-heading);font-size:20px;font-weight:var(--weight-regular);letter-spacing:0;line-height:1.45}.article-body.layout-article .article-inner>h4{font-family:var(--font-ui);font-size:18px;font-weight:var(--weight-strong);letter-spacing:0;line-height:1.5}.article-body.layout-article .table-wrapper:has(>table){margin:var(--article-block-gap) 0;overflow-x:auto;overflow-y:hidden;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-surface);box-shadow:none;scrollbar-color:var(--theme-border-strong) rgba(0,0,0,0);scrollbar-width:thin}.article-body.layout-article .table-wrapper::-webkit-scrollbar{display:block;height:10px}.article-body.layout-article .table-wrapper::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.article-body.layout-article .table-wrapper::-webkit-scrollbar-thumb{border:2px solid var(--theme-surface);border-radius:999px;background:var(--theme-border-strong);background-clip:padding-box}.article-body.layout-article table{border:0;border-collapse:separate;border-spacing:0;background:var(--theme-surface);font-variant-numeric:tabular-nums lining-nums}.article-body.layout-article .article-inner table th,.article-body.layout-article .article-inner table td{padding:10px 14px;border:0;border-bottom:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-body);font-family:var(--font-ui),sans-serif;font-size:16px;line-height:1.6;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"kern" 1,"tnum" 1,"lnum" 1;vertical-align:top}.article-body.layout-article .article-inner table th{background:var(--theme-table-header);color:var(--theme-ink);font-weight:var(--weight-strong);letter-spacing:.01em}.article-body.layout-article .article-inner table :is(th,td)+:is(th,td){border-left:0}.article-body.layout-article .article-inner table tbody tr:last-child td{border-bottom:0}.article-body.layout-article .article-inner table tbody tr:nth-child(even) td{background:var(--theme-table-stripe)}.article-body.layout-article .article-inner table tbody tr:hover td,.article-body.layout-article .article-inner table tbody tr:focus-within td{background:var(--theme-table-hover)}.article-body.layout-article .table-wrapper:focus-visible{outline:2px solid color-mix(in oklch, var(--theme-link) 38%, transparent);outline-offset:2px}.article-body.layout-article .post-copyright{border-color:var(--theme-border);border-radius:8px;background:var(--theme-surface-subtle)}.article-body.layout-article .post-navigation-link,.article-body.layout-article .post-navigation-link:hover,.article-body.layout-article .post-navigation-link:focus-visible,.article-body.layout-article .post-navigation-link :is(span,i){text-decoration:none !important}.article-body.layout-article .meta :is(time,.post-meta-reading-time>span,.post-meta-details-count){font-family:var(--font-number),var(--font-ui),sans-serif;font-variant-numeric:tabular-nums lining-nums}.article-body.layout-article .meta .post-meta-badge{font-family:var(--font-ui),sans-serif}@media(min-width: 1600px){.article-body.layout-article{--theme-prose-size: 16px;--theme-prose-leading: 1.78}}@media(max-width: 768px){.article-body.layout-article{--theme-prose-size: 16px;--theme-prose-leading: 1.65}}@media(max-width: 768px){.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(:is(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow)){max-inline-size:100%;margin-block:var(--article-block-gap);margin-inline-start:0;padding:10px;border-radius:16px}}@media(max-width: 768px){.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(:is(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow))::before{display:none;content:none}}@media(max-width: 768px){.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(:is(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow)) :is(p,li){font-size:var(--theme-prose-size);line-height:var(--theme-prose-leading)}}@media(max-width: 768px){.article-body.layout-article .table-wrapper.is-scrollable:not(.is-at-end){-webkit-mask-image:linear-gradient(to right, #000 0, #000 calc(100% - 36px), transparent 100%);mask-image:linear-gradient(to right, #000 0, #000 calc(100% - 36px), transparent 100%)}}@media(max-width: 768px){.article-body.layout-article .article-inner table th,.article-body.layout-article .article-inner table td{padding:10px 12px;font-size:15px;line-height:1.6}}@media(max-width: 768px){.article-body.layout-article .page-header .entry-title{font-size:1.875rem}}@media(max-width: 768px){.article-body.layout-article .article-inner>h2{font-size:24px}}@media(max-width: 768px){.article-body.layout-article .article-inner>h3{font-size:20px}}@media(max-width: 768px){.article-body.layout-article .meta{margin-bottom:22px}}.article-body.layout-article .page-header .entry-title,.article-body.layout-article .article-inner>h2,.article-body.layout-article .article-inner>h3,.not-found-content h1{color:var(--theme-ink);font-weight:var(--weight-medium)}@media(max-width: 768px){.article-body.layout-article .meta :is(.post-list-category,.post-list-tag){grid-template-columns:minmax(0, 1fr);gap:8px;padding:12px}}@media(max-width: 768px){.article-body.layout-article .meta .post-list-head{padding-top:0}}.article-body.layout-article .article-inner>blockquote,.article-body.layout-article .article-inner>h2,.article-body.layout-article .article-inner>h3,.article-body.layout-article .article-inner>h4,.article-body.layout-article .article-inner>table,.article-body.layout-article .article-inner>.table-wrapper,.article-body.layout-article .article-inner>.code-block-wrapper{max-width:none}.article-body.layout-article .article-inner a:not(.post-list-linear a):not(.code-block-copy){color:var(--x-accent)}.article-body.layout-article .article-inner a:not(.post-list-linear a):not(.code-block-copy):hover{color:var(--x-accent-hover)}.article-body.layout-article .code-block-wrapper{position:relative;display:grid;grid-template-columns:minmax(0, 1fr);--code-copy-size: 32px;--code-padding-inline: 16px;--code-padding-block: 14px}.article-body.layout-article .code-block-wrapper .code-block-dots{display:none}.article-body.layout-article .code-block-wrapper pre{grid-column:1;grid-row:1;min-width:0}.article-body.layout-article .code-block-wrapper pre code{padding:var(--code-padding-block) var(--code-padding-inline) !important;background:var(--ui-bg-subtle) !important;color:var(--ui-fg-default);font-size:var(--code-font-size);line-height:var(--code-line-height)}.article-body.layout-article .code-block-wrapper>.code-block-copy{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:var(--code-copy-size);height:var(--code-copy-size);min-height:var(--code-copy-size);padding:0;border-radius:6px;cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast),opacity var(--motion-fast)}.article-body.layout-article .code-block-wrapper>.code-block-copy:hover{background:var(--ui-bg-neutral-muted);color:var(--ui-fg-default);opacity:1}.article-body.layout-article .code-block-wrapper>.code-block-copy:focus-visible{background:var(--ui-bg-neutral-muted);color:var(--ui-fg-default);opacity:1}.article-body.layout-article .code-block-wrapper>.code-block-copy.copied{background:var(--ui-bg-neutral-muted);color:var(--code-copy-success-text);opacity:1}@media(max-width: 768px){.article-body.layout-article .code-block-wrapper{--code-copy-size: 30px;--code-padding-inline: 12px;--code-padding-block: 14px}}@media(max-width: 768px){.article-body.layout-article .code-block-wrapper{width:100%;margin:var(--article-block-gap) 0;border-radius:var(--radius-card)}}@media(max-width: 768px){.article-body.layout-article .code-block-wrapper>.code-block-copy i{font-size:14px}}.article-body.layout-article .article-inner a:not(.code-block-copy):is(:link,:visited,:hover,:focus-visible){text-decoration-color:color-mix(in srgb, currentColor 42%, transparent);text-decoration-thickness:1px;text-underline-offset:3px}.article-body.layout-article .article-inner a:not(.code-block-copy):is(:hover,:focus-visible){text-decoration:underline;text-decoration-color:currentColor}.article-body.layout-article .code-block-wrapper{margin-block:var(--article-block-gap);--code-font-size: 14px;--code-line-height: 1.7;border-color:var(--theme-border);border-radius:16px;background:var(--theme-code-surface);box-shadow:none}.article-body.layout-article .code-block-wrapper>.highlight,.article-body.layout-article .code-block-wrapper pre code{background:var(--theme-code-surface) !important}.article-body.layout-article .code-block-wrapper>.code-block-copy{border:0;background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-faint);opacity:1}.article-body.layout-article .code-block-wrapper>.code-block-copy:hover,.article-body.layout-article .code-block-wrapper>.code-block-copy:focus-visible,.article-body.layout-article .code-block-wrapper>.code-block-copy.copied{background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-ink);opacity:1}.article-body.layout-article .code-block-wrapper>.code-block-copy:focus-visible{outline:2px solid rgba(9,105,218,.28);outline-offset:2px}.article-body.layout-article .code-block-copy .code-copy-icon{width:15px;height:15px}.article-body.layout-article .code-block-copy .icon-check{font-size:14px}@media(max-width: 768px){.article-body.layout-article .code-block-wrapper{--code-font-size: 14px;--code-line-height: 1.7}}:is(#sidebar-table-of-contents,#table-of-contents){color:var(--theme-body);font-family:var(--font-ui);text-align:left}:is(#sidebar-table-of-contents,#table-of-contents) :is(.markdown-toc,.sub-markdown-toc){display:grid;gap:2px;min-width:0;margin:0;padding:0;list-style:none}:is(#sidebar-table-of-contents,#table-of-contents) .sub-markdown-toc{margin:2px 0 2px 14px;padding-left:8px;border-left:2px solid var(--theme-control-border)}:is(#sidebar-table-of-contents,#table-of-contents) .markdown-toc-entry{min-width:0;margin:0;padding:0}:is(#sidebar-table-of-contents,#table-of-contents) .markdown-toc-entry>a{position:relative;display:block;box-sizing:border-box;min-height:32px;padding:5px 10px 5px 14px;border-radius:0;color:var(--theme-body);font-size:14px;font-weight:var(--weight-strong);line-height:1.5;overflow-wrap:anywhere;text-decoration:none}:is(#sidebar-table-of-contents,#table-of-contents) .sub-markdown-toc a{min-height:30px;padding-left:10px;font-size:13.5px;font-weight:var(--weight-medium);color:var(--theme-body)}:is(#sidebar-table-of-contents,#table-of-contents) .toc-link-text{color:inherit;font:inherit;white-space:normal}:is(#sidebar-table-of-contents,#table-of-contents) .markdown-toc-entry>a:hover{background:var(--theme-surface-subtle);color:var(--theme-ink)}:is(#sidebar-table-of-contents,#table-of-contents) .markdown-toc-entry>a[aria-current=location]{background:color-mix(in srgb, var(--theme-link) 11%, var(--theme-surface));color:var(--theme-link);box-shadow:inset 4px 0 0 var(--theme-link);font-weight:var(--weight-strong)}:is(#sidebar-table-of-contents,#table-of-contents) a:focus-visible{outline:2px solid var(--theme-link);outline-offset:-2px}:is(.sidebar-toc-title,.post-toc-title){display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-height:38px;margin:0;padding:8px 10px;border:1px solid var(--button-border);border-radius:var(--radius-md);background:var(--button-bg);color:var(--theme-body);font-family:var(--font-ui);font-size:14px;font-weight:var(--weight-strong);line-height:1.5;list-style:none;cursor:pointer}:is(.sidebar-toc-title,.post-toc-title)::-webkit-details-marker{display:none}:is(.sidebar-toc-title,.post-toc-title):hover{background:var(--theme-surface-hover)}:is(.sidebar-toc-title,.post-toc-title):focus-visible{outline:2px solid var(--theme-link);outline-offset:2px}:is(.sidebar-toc-title,.post-toc-title) .toc-title-main{display:inline-flex;align-items:center;gap:9px}:is(.sidebar-toc-title,.post-toc-title) .toc-title-toggle{display:inline-flex;align-items:center;gap:6px}:is(.sidebar-toc-title,.post-toc-title) .toc-chevron{font-size:10px}:is(.sidebar-toc,.post-toc){min-width:0;margin:0}:is(.sidebar-toc,.post-toc) .toc-state-expanded{display:none}:is(.sidebar-toc,.post-toc)[open] .toc-chevron{transform:rotate(180deg)}:is(.sidebar-toc,.post-toc)[open] .toc-state-expanded{display:inline}:is(.sidebar-toc,.post-toc)[open] .toc-state-collapsed{display:none}#sidebar-table-of-contents{max-height:calc(100dvh - var(--layout-header-offset) - var(--layout-header-gap) - 50px);margin-top:4px;padding:4px 2px 4px 6px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--theme-border-strong) rgba(0,0,0,0);scroll-padding-block:12px}.sidebar{display:none;position:sticky;top:var(--layout-header-offset);align-self:start;z-index:70;width:var(--layout-sidebar-width)}.sidebar .sidebar-content{display:grid;grid-template-columns:38px minmax(0, 1fr);align-items:start;gap:8px}.sidebar-collapse-toggle{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--button-border);border-radius:50%;background:var(--button-bg);color:var(--theme-muted);cursor:pointer}.sidebar-collapse-toggle:hover{background:var(--theme-surface-subtle);color:var(--theme-ink)}.sidebar-collapse-toggle:focus-visible{outline:2px solid var(--theme-link);outline-offset:2px}#table-of-contents{display:none}@media(min-width: 1366px){body.has-sidebar-toc{overflow-x:clip;overflow-y:visible;--layout-sidebar-width: clamp(360px, 26vw, 420px)}body.has-sidebar-toc .sidebar{display:block}body.has-sidebar-toc .article-body.layout-article{width:min(100%,var(--layout-article-max));margin-inline:auto}body.has-sidebar-toc .body{display:grid;grid-template-columns:minmax(0, 1fr) 38px;align-items:start;column-gap:var(--layout-sidebar-gap);width:min(100% - 2*var(--layout-page-inset),var(--layout-content-max));margin-inline:auto}body.has-sidebar-toc:not(.toc-js-ready) .body,body.toc-sidebar-open .body{grid-template-columns:minmax(0, 1fr) var(--layout-sidebar-width)}body.has-sidebar-toc .body .main-content{width:100%;min-width:0;margin:0}body.has-sidebar-toc.toc-js-ready:not(.toc-sidebar-open) .sidebar{width:38px}body.has-sidebar-toc.toc-js-ready:not(.toc-sidebar-open) .sidebar .sidebar-content{grid-template-columns:38px}body.has-sidebar-toc.toc-js-ready:not(.toc-sidebar-open) .sidebar .sidebar-toc{display:none}body.has-sidebar-toc.toc-js-ready:not(.toc-sidebar-open) .sidebar .sidebar-collapse-toggle>i{transform:rotate(180deg)}}@media(min-width: 769px)and (max-width: 1365px){#table-of-contents{display:block;margin-block:var(--article-block-gap)}#table-of-contents .post-toc-list{padding:12px 6px}}.search-modal{top:clamp(76px,10vh,96px);padding-inline:20px}.search-modal-content{--search-surface: var(--ui-bg-default);--search-surface-focus: var(--ui-bg-default);--search-border: var(--ui-border-default);--search-border-focus: var(--ui-focus-outline);--search-text: var(--ui-fg-default);--search-placeholder: var(--ui-fg-muted);--search-shadow: var(--ui-shadow-overlay);--search-results-surface: var(--ui-bg-subtle);--search-row-surface: var(--ui-bg-subtle);--search-row-surface-hover: var(--ui-bg-muted);--search-row-border: var(--ui-border-muted);--search-row-border-hover: var(--ui-border-default);--search-row-radius: 0}.search-modal-content .search-leading-icon{position:absolute;z-index:1;display:grid;place-items:center;pointer-events:none}.search-modal-content #search-input{backdrop-filter:none}.search-modal-content .btn-close i{color:currentColor;font-size:16px}.search-modal-content #results-container{margin-top:0;padding:0;border:0;border-radius:0;background:var(--ui-bg-subtle);box-shadow:none;backdrop-filter:none;scrollbar-color:var(--ui-scrollbar-thumb) var(--ui-bg-subtle);scrollbar-width:thin}.search-modal-content #results-container::-webkit-scrollbar{width:8px}.search-modal-content #results-container::-webkit-scrollbar-track{background:var(--ui-bg-subtle)}.search-modal-content #results-container::-webkit-scrollbar-thumb{border:2px solid var(--ui-bg-subtle);background:var(--ui-scrollbar-thumb)}.search-modal-content #results-container li{border-bottom:1px solid var(--ui-border-muted);box-shadow:none}.search-modal-content #results-container li:last-child{border-bottom:0}.search-modal-content #results-container li:hover{background:var(--ui-bg-muted);box-shadow:none}.search-modal-content #results-container li:has(a:focus-visible){background:var(--ui-bg-muted)}.search-modal-content #results-container li a .search-title{color:var(--ui-fg-link)}.search-modal-content #results-container li:hover .search-title{color:var(--ui-fg-link)}.search-modal-content #results-container li a .entry-date{color:var(--ui-fg-muted)}@media(max-width: 768px){.search-modal{top:calc(env(safe-area-inset-top) + 68px);padding-inline:8px}}@media(max-width: 768px){.search-modal-content #results-container{border-radius:0;box-shadow:none}}.search-modal-content .search-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.search-modal-content .search-status:empty{display:none}.search-modal-content .search-status:not(:empty)+#results-container{margin-top:0}.search-modal-content #results-container li a{grid-template-columns:minmax(0, 1fr) auto auto;gap:12px}.search-modal-content #results-container li a .search-freq{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;height:24px;padding:0 8px;border:1px solid var(--ui-border-default);border-radius:2em;background:var(--ui-bg-muted);color:var(--ui-fg-muted);font-size:11px;font-weight:var(--weight-medium)}.search-modal-content #results-container li a .search-freq i{font-size:10px}.search-modal-content #results-container .search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:128px;padding:24px;color:var(--ui-fg-muted);text-align:center}.search-modal-content #results-container .search-empty>i{color:var(--ui-fg-muted);font-size:20px}@media(max-width: 768px){.search-modal-content #results-container li a{grid-template-columns:minmax(0, 1fr) auto;gap:8px}}@media(max-width: 768px){.search-modal-content #results-container li a .search-freq{display:inline-flex;padding-inline:6px}}body.search-overlay::after{background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.search-modal{inset:0;width:100%;padding:72px 48px 48px;overflow-x:hidden;overflow-y:auto}.search-modal-content{--search-control-height: 52px;--search-control-radius: 16px;--search-control-font-size: 17px;--search-close-size: 40px;width:min(720px,100%);padding:6px;border:1px solid var(--theme-border);border-radius:20px;background:var(--theme-canvas);box-shadow:0 0 0 1px rgba(23,23,23,.04),0 18px 48px rgba(23,23,23,.14);overflow:hidden;opacity:0;transform:scale(0.96);transform-origin:top center;transition:none}.search-modal-content.active{opacity:1;transform:scale(1)}.search-modal-content:focus-within{border-color:var(--theme-border-strong);box-shadow:0 0 0 1px rgba(23,23,23,.04),0 18px 48px rgba(23,23,23,.14)}.search-modal-content .search-control{position:relative;display:flex;align-items:center;width:100%;height:var(--search-control-height);transition:border-color 160ms ease,box-shadow 160ms ease}.search-modal-content .search-leading-icon{top:0;left:13px;width:16px;height:100%;color:var(--theme-muted);font-size:16px}.search-modal-content #search-input{height:100%;padding:0 50px 0 42px;border:0;border-radius:inherit;background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-ink);font-family:var(--font-ui),sans-serif;font-size:17px;font-weight:var(--weight-medium);line-height:24px}.search-modal-content #search-input:focus{border:0;background:rgba(0,0,0,0);box-shadow:none}.search-modal-content #search-input::placeholder{color:var(--theme-muted)}.search-modal-content .btn-close{top:5px;right:5px;border-radius:10px;background:rgba(0,0,0,0);color:var(--theme-muted)}.search-modal-content .btn-close:hover,.search-modal-content .btn-close:focus-visible{background:rgba(0,0,0,0);color:var(--theme-ink)}.search-modal-content .btn-close:focus-visible{outline:2px solid color-mix(in oklch, var(--theme-link) 52%, transparent);outline-offset:1px}.search-modal-content #results-container,.search-modal-content .search-status:not(:empty)+#results-container{margin-top:6px;padding:6px;border-radius:14px;max-height:calc(100dvh - 160px);overscroll-behavior:contain}.search-modal-content #results-container li{border:0;border-radius:8px;background:rgba(0,0,0,0)}.search-modal-content #results-container li+li{margin-top:0}.search-modal-content #results-container li:hover,.search-modal-content #results-container li:has(a:focus-visible){background:rgba(14,14,14,.04)}.search-modal-content #results-container li a{min-height:54px;padding:8px 12px}.search-modal-content #results-container li a .search-title,.search-modal-content #results-container li:hover a .search-title{color:var(--theme-body);font-family:var(--font-prose-mixed);font-weight:var(--weight-regular)}.search-modal-content #results-container li a .search-freq,.search-modal-content #results-container li a .entry-date{font-weight:var(--weight-regular)}.search-modal-content #results-container li a .entry-date{font-size:11px}.search-modal-content #results-container li a:focus-visible{border-radius:8px;outline:2px solid color-mix(in oklch, var(--theme-link) 48%, transparent);outline-offset:-2px}.search-modal-content,.search-modal-content.active,.search-modal-content:focus-within{padding:0;border:0;border-radius:16px;background:rgba(0,0,0,0);box-shadow:none;overflow:visible}.search-modal-content .search-control{border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-surface);box-shadow:0 12px 36px rgba(31,35,40,.16),0 2px 8px rgba(31,35,40,.08)}.search-modal-content .search-control:focus-within{border-color:var(--theme-link);box-shadow:0 12px 36px rgba(31,35,40,.16),0 2px 8px rgba(31,35,40,.08);outline:none}.search-modal-content #results-container,.search-modal-content .search-status:not(:empty)+#results-container{border:1px solid var(--theme-border);background:var(--theme-surface);box-shadow:0 12px 36px rgba(31,35,40,.16),0 2px 8px rgba(31,35,40,.08)}@media(max-width: 768px){.search-modal{padding:max(22px,env(safe-area-inset-top) + 12px) 16px 16px}}@media(max-width: 768px){.search-modal-content{--search-control-height: 50px;--search-control-radius: 16px;--search-close-size: 40px;width:100%;padding:0;border-radius:16px;filter:none}}@media(max-width: 768px){.search-modal-content #search-input{padding:0 48px 0 42px;border:0;background:rgba(0,0,0,0);box-shadow:none}}@media(max-width: 768px){.search-modal-content .search-leading-icon{left:13px}}@media(max-width: 768px){.search-modal-content .btn-close{top:5px;right:5px}}@media(max-width: 768px){.search-modal-content #results-container,.search-modal-content .search-status:not(:empty)+#results-container{margin-top:6px;padding:6px;border-radius:14px;max-height:calc(100dvh - 112px - env(safe-area-inset-top))}}@media(prefers-reduced-motion: reduce){.search-modal-content,.search-modal-content .search-control{transition:none}}@media(max-width: 768px){.article-body.layout-listing .detail-wrap .post-sort-select{height:36px;min-height:36px;padding-block:4px;font-size:16px}}@media(max-width: 768px){.detail-wrap .post-sort{justify-content:flex-end}}@media(max-width: 768px){.detail-wrap .post-sort-label{font-size:13px}}.detail-wrap .post-filter-option:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in oklch, var(--theme-link) 38%, transparent)}@media(max-width: 768px){.article-body.layout-listing .detail-wrap :is(.post-sort-summary,.post-filter-summary){min-height:44px}}.article-body.layout-listing .post-toolbar-state .detail-total,.article-body.layout-listing .detail-wrap :is(.post-filter-summary,.post-sort-summary){color:var(--theme-body);font-size:14px;font-weight:var(--weight-strong)}.site-footer{width:min(100% - 2*var(--layout-page-inset),var(--layout-content-max));max-width:none;margin:0 auto;padding:12px 20px 24px}.site-footer .copyright{color:var(--text-muted)}.site-footer .copyright a{color:var(--ui-fg-link);text-decoration:none}.site-footer .copyright a:hover,.site-footer .copyright a:focus-visible{color:var(--ui-fg-link);text-decoration:underline;text-underline-offset:2px}@media(max-width: 900px){.site-footer{width:calc(100% - 32px)}}@media(max-width: 768px){.site-footer{margin-top:0;padding-inline:0;padding-top:10px;padding-bottom:calc(14px + env(safe-area-inset-bottom));font-size:12px;line-height:1.5}}@media(max-width: 768px){.site-footer .copyright{font-size:clamp(10px,2.82vw,12px);white-space:nowrap}}.site-footer .footer-inner{max-width:none}.site-footer .footer-inner>:last-child{margin-bottom:0}.site-footer .back-to-top,.site-footer .back-to-top.visible{display:inline-flex;align-items:center;justify-content:center}.site-footer .back-to-top:focus-visible{border-color:rgba(0,0,0,0);background:var(--ui-bg-muted);color:inherit;outline:2px solid var(--ui-focus-outline);outline-offset:2px;box-shadow:none}.site-footer .back-to-top .emoji{font-size:18px}body.not-found-view .site-footer{display:none}.site-footer{margin-top:8px;color:var(--theme-muted)}.site-footer .footer-inner{padding-top:18px;border-top:1px solid var(--theme-border)}.site-footer .back-to-top,.site-footer .back-to-top.visible{width:42px;height:42px;min-height:42px;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-canvas);box-shadow:none;color:var(--theme-muted);font-size:18px}.site-footer .back-to-top .emoji{display:none}.site-footer .back-to-top::before{display:block;line-height:1;content:"↑"}.site-footer .back-to-top.visible:hover{border-color:var(--theme-border-strong);background:var(--theme-surface-subtle);color:var(--theme-ink)}.site-footer{width:100%;box-sizing:border-box;margin-top:8px;padding:16px max(20px,var(--layout-page-inset)) 28px;background:var(--theme-footer-surface);color:var(--theme-footer-text)}.site-footer .footer-inner{max-width:var(--layout-content-max);padding-top:0;border-top:0;row-gap:8px}.site-footer :is(.copyright,.site-time,.footer-stats),.site-footer .footer-links a{color:var(--theme-footer-text)}.site-footer .copyright a,.site-footer .copyright a:hover,.site-footer .copyright a:focus-visible{color:var(--theme-footer-heading)}.site-footer .footer-links a:hover,.site-footer .footer-links a:focus-visible{color:var(--theme-footer-heading);background:var(--theme-footer-border)}@media(max-width: 768px){.site-footer{margin-top:0;padding:12px 16px calc(24px + env(safe-area-inset-bottom))}.site-footer .copyright{font-size:12px;white-space:normal;line-height:1.7}.site-footer .site-time{display:block;line-height:1.7}}body{font-weight:var(--weight-regular);font-optical-sizing:auto;font-kerning:normal}.article-body.layout-listing .collection-description,.article-body.layout-listing .detail-total,.article-body.layout-listing .post-toolbar-state .detail-total{font-family:var(--font-heading);font-size:15px;font-weight:var(--weight-regular);color:var(--theme-body)}.article-body.layout-listing :is(.post-row-date,.collection-index-count,.post-frequency,.post-frequency strong){font-family:var(--font-number);font-weight:var(--weight-medium);color:var(--theme-muted)}.article-body.layout-listing .detail-total,.article-body.layout-listing .post-toolbar-state .detail-total,.article-body.layout-listing .collection-toolbar .collection-description,.article-body.layout-listing .detail-wrap :is(.post-filter-summary,.post-sort-summary){font-family:var(--font-ui);font-weight:var(--weight-strong);color:var(--theme-ink)}.article-body.layout-listing .detail-wrap{--filter-menu-text: var(--theme-ink)}.article-body.layout-article .meta,.article-body.layout-article .meta :is(a,button,span,time){font-weight:var(--weight-regular)}.article-body.layout-article .meta :is(time,.post-meta-reading-time>span,.post-meta-details-count){font-weight:var(--weight-medium)}.article-body.layout-article .article-inner>:is(h2,h3,h4,h5,h6){font-family:var(--font-heading);font-weight:var(--weight-strong);color:var(--theme-ink)}.article-body.layout-article .article-inner table th{font-family:var(--font-ui);font-weight:var(--weight-strong)}.article-body.layout-article .article-inner :not(pre)>code{font-weight:var(--weight-regular);background:var(--theme-inset-surface);color:var(--theme-ink);box-shadow:inset 0 0 0 1px var(--theme-chip-border)}.article-body.layout-article .article-inner p{margin-block:0 1em}.article-body.layout-article .article-inner blockquote :last-child{margin-bottom:0}.article-body.layout-article .article-inner blockquote :is(p,li){color:inherit;line-height:var(--theme-prose-leading)}.article-body.layout-article .article-inner table :is(th,td){color:var(--theme-body);border-color:var(--theme-border);line-height:1.65}.article-body.layout-article .article-inner table th{background:var(--theme-table-header);color:var(--theme-ink)}.search-modal-content #search-input{font-family:var(--font-prose-mixed);font-weight:var(--weight-regular)}.search-modal-content #results-container li a .search-title{font-size:var(--type-body);font-family:var(--font-prose-mixed);font-weight:var(--weight-regular)}.search-modal-content #results-container li a :is(.entry-date,.search-freq){font-size:13px;font-family:var(--font-number);font-weight:var(--weight-medium);color:var(--theme-muted)}.code-block-wrapper pre code,.article-body .highlight pre,.article-body .highlight pre code{font-family:var(--font-code);font-weight:var(--weight-regular)}.article-body.layout-article .code-tabs{margin:var(--article-block-gap) 0;overflow:hidden;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-surface)}.article-body.layout-article .code-tabs .code-tabs-header{display:flex;align-items:center;gap:8px;padding:4px 16px;border-bottom:1px solid var(--theme-border);background:var(--theme-surface-subtle)}.article-body.layout-article .code-tabs .code-tabs-list{display:flex;flex:1;min-width:0;gap:4px;overflow-x:auto;scrollbar-width:thin}.article-body.layout-article .code-tabs .code-tab{flex-shrink:0;min-height:24px;padding:0 9px;border:0;border-radius:6px;background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-muted);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;font-weight:var(--weight-medium);line-height:20px;cursor:pointer}.article-body.layout-article .code-tabs .code-tab:hover,.article-body.layout-article .code-tabs .code-tab[aria-selected=true]{background:var(--theme-surface-hover);box-shadow:none;color:var(--theme-ink)}.article-body.layout-article .code-tabs .code-tab[aria-selected=true]{background:var(--theme-control-active);box-shadow:inset 0 0 0 1px var(--theme-control-border);color:var(--theme-ink);font-weight:600}.article-body.layout-article .code-tabs .code-tab:focus-visible,.article-body.layout-article .code-tabs .code-block-copy:focus-visible,.article-body.layout-article .code-tabs>[role=tabpanel]:focus-visible{outline:2px solid var(--theme-link);outline-offset:-2px}.article-body.layout-article .code-tabs .code-tabs-copy{flex-shrink:0}.article-body.layout-article .code-tabs .code-block-copy{display:grid;place-items:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:0;border-radius:7px;background:rgba(0,0,0,0);color:var(--theme-muted);cursor:pointer}.article-body.layout-article .code-tabs .code-block-copy:hover{background:var(--theme-surface-subtle);color:var(--theme-ink)}.article-body.layout-article .code-tabs .code-block-copy.copied{color:var(--text-success)}.article-body.layout-article .code-tabs .code-copy-icon{display:inline-block;width:16px;height:16px;background-color:currentcolor;mask:url("https://cdn.jsdelivr.net/gh/hgnulb/blog@gh-pages/assets/images/icons/copy-code.svg") center/contain no-repeat}.article-body.layout-article .code-tabs>.code-block-wrapper{--code-font-size: 14px;--code-line-height: 1.7;--code-padding-inline: 16px;--code-padding-block: 14px;--theme-code-surface: var(--theme-surface);grid-template-columns:minmax(0, 1fr);margin:0;border:0;border-radius:0}.article-body.layout-article .code-tabs>.code-block-wrapper>.highlight{grid-column:1}.article-body.layout-article .code-tabs>.code-block-wrapper pre code{color:var(--theme-ink)}.article-body.layout-article .code-tabs>.code-block-wrapper[hidden]{display:none}@media print{.article-body.layout-article .code-tabs{overflow:visible}.article-body.layout-article .code-tabs .code-tabs-header{display:none}.article-body.layout-article .code-tabs>.code-block-wrapper[hidden]{display:grid}.article-body.layout-article .code-tabs>.code-block-wrapper+.code-block-wrapper{border-top:1px solid var(--theme-border)}}body.search-overlay::after{background:rgba(0,0,0,.4);-webkit-backdrop-filter:none;backdrop-filter:none}.search-modal{padding:54px 24px 32px}.search-modal-content,.search-modal-content.active,.search-modal-content:focus-within{--search-panel-background: #fdfdf7;--search-panel-border: #dedede;--theme-ink: #171717;--theme-muted: #707070;width:min(640px,100%);padding:6px;overflow:hidden;border:0;border-radius:20px;background:var(--search-panel-background);box-shadow:0 0 0 1px rgba(23,23,23,.06),0 57px 34px rgba(0,0,0,.01),0 25px 25px rgba(0,0,0,.02),0 6px 14px rgba(0,0,0,.02)}.search-modal-content:focus-within{border-color:rgba(0,0,0,0)}.search-modal-content .search-control{position:relative;height:50px;border:1px solid var(--search-panel-border);border-radius:16px;background:var(--search-panel-background);box-shadow:none}.search-modal-content .search-control:focus-within{border-color:var(--search-panel-border);outline:0;box-shadow:none}.search-modal-content:has(.search-status:not(:empty)) .search-control{border-color:var(--search-panel-border)}.search-modal-content .search-leading-icon{left:15px;width:17px;color:var(--theme-muted);font-size:16px}.search-modal-content #search-input{height:100%;padding:0 56px 0 44px;border:0;border-radius:0;background:rgba(0,0,0,0);box-shadow:none;color:var(--theme-ink);font-family:var(--font-ui);font-size:16px;font-weight:var(--weight-medium);line-height:24px}.search-modal-content #search-input:focus{border:0;background:rgba(0,0,0,0);box-shadow:none}.search-modal-content #search-input::-webkit-search-cancel-button,.search-modal-content #search-input::-webkit-search-decoration,.search-modal-content #search-input::-webkit-search-results-button,.search-modal-content #search-input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none;display:none;width:0;height:0}.search-modal-content #search-input::placeholder{color:var(--theme-muted);opacity:.88}.search-modal-content .btn-close{top:4px;right:4px;display:flex;width:40px;min-width:40px;height:40px;padding:0;border-radius:12px;color:var(--theme-muted)}.search-modal-content .btn-close:hover,.search-modal-content .btn-close:focus-visible{background:rgba(0,0,0,0);color:var(--theme-ink)}.search-modal-content .btn-close i{width:16px;height:16px;font-size:15px}.search-modal-content .search-results{display:flex;flex-direction:column;max-height:calc(100dvh - 166px);margin:6px -6px -6px;overflow:hidden;border:0;border-radius:0;background:var(--search-panel-background);box-shadow:none}.search-modal-content .search-results:not(:has(.search-status:not(:empty))){display:none}.search-modal-content .search-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.search-modal-content #results-container,.search-modal-content .search-status:not(:empty)+#results-container{flex:0 1 auto;min-height:0;max-height:none;margin:0;padding:6px;overflow-x:hidden;overflow-y:auto;border:0;border-radius:0;background:var(--search-panel-background);box-shadow:none;scrollbar-color:#d4d4d4 rgba(0,0,0,0);scrollbar-width:thin}.search-modal-content #results-container li{width:100%;box-sizing:border-box;margin:0;overflow:hidden;border:0;border-radius:14px;background:rgba(0,0,0,0);box-shadow:none;list-style:none}.search-modal-content #results-container li+li{margin-top:0}.search-modal-content #results-container li:hover,.search-modal-content #results-container li:has(a:focus-visible){background:rgba(0,0,0,.03)}.search-modal-content #results-container li:has(a:focus-visible){box-shadow:inset 0 0 0 1px var(--search-panel-border)}.search-modal-content #results-container li.search-result-divider{width:calc(100% - 16px);height:1px;margin:6px 8px;border-radius:0;background:var(--search-panel-border);pointer-events:none}.search-modal-content #results-container li a{width:100%;min-height:50px;box-sizing:border-box;padding:6px 8px;color:var(--theme-ink);font-family:var(--font-ui);text-decoration:none}.search-modal-content #results-container li a:focus-visible{outline:0}.search-modal-content #results-container .search-taxonomy-result a{display:grid;grid-template-columns:20px minmax(0, 1fr) auto;align-items:center;gap:8px}.search-modal-content .search-entity-icon{display:grid;place-items:center;width:20px;height:20px;background:rgba(0,0,0,0);color:var(--theme-muted);font-size:18px}.search-modal-content .search-entity-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.search-modal-content .search-entity-copy strong{overflow:hidden;color:var(--theme-ink);font-size:14px;font-weight:var(--weight-medium);line-height:19px;text-overflow:ellipsis;white-space:nowrap}.search-modal-content .search-entity-count{color:var(--theme-muted);font-family:var(--font-number),var(--font-ui),sans-serif;font-size:12px;font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;line-height:16px;white-space:nowrap}.search-modal-content #results-container .search-article-result a{display:flex;align-items:center;gap:8px}.search-modal-content #results-container .search-article-result .search-entity-icon,.search-modal-content #results-container .search-article-result .search-freq,.search-modal-content #results-container .search-article-result .entry-date{flex-shrink:0}.search-modal-content #results-container li a .search-title,.search-modal-content #results-container li:hover a .search-title{flex:1;min-width:0;overflow:hidden;color:var(--theme-ink);font-family:var(--font-ui);font-size:14px;font-weight:var(--weight-medium);line-height:20px;white-space:nowrap;text-overflow:ellipsis}.search-modal-content #results-container .search-match{background:rgba(0,0,0,0);color:var(--theme-link);font-weight:600}.search-modal-content #results-container li a .search-freq,.search-modal-content #results-container li a .entry-date{min-width:0;height:auto;padding:0;border:0;background:rgba(0,0,0,0);color:var(--theme-muted);font-family:var(--font-number),var(--font-ui),sans-serif;font-size:12px;font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;line-height:16px;white-space:nowrap}.search-modal-content #results-container li a .search-freq{display:inline-flex;align-items:center;gap:5px}.search-modal-content #results-container li a .search-freq i{font-size:10px}.search-modal-content #results-container .search-empty{display:flex;align-items:center;justify-content:center;min-height:128px;padding:24px;color:var(--theme-muted);font-family:var(--font-ui);font-size:14px;text-align:center}@media(max-width: 768px){.search-modal{padding:max(12px,env(safe-area-inset-top)) 10px 10px}.search-modal-content,.search-modal-content.active,.search-modal-content:focus-within{width:100%;max-height:calc(100dvh - max(24px,env(safe-area-inset-top)));border-radius:20px}.search-modal-content .search-control{height:48px}.search-modal-content #search-input{padding-right:54px;font-size:16px}.search-modal-content .btn-close{top:4px;right:4px;width:40px;min-width:40px;height:40px}.search-modal-content .search-results{max-height:calc(100dvh - 76px - env(safe-area-inset-top))}.search-modal-content #results-container .search-taxonomy-result a{min-height:50px}}@media(prefers-reduced-motion: reduce){.search-modal-content,.search-modal-content .search-control,.search-modal-content #results-container li,.search-modal-content #results-container li a{transition:none}}.article-body.layout-listing:has(.collection-index)>.article-inner>.collection-toolbar{margin-bottom:0;border:1px solid var(--theme-collection-border);border-radius:6px 6px 0 0}.article-body.layout-listing:has(.collection-index)>.article-inner>.collection-index{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px;margin-top:0;padding:16px;border:1px solid var(--theme-collection-border);border-top:0;border-radius:0 0 6px 6px;background:var(--theme-surface);overflow:visible}.article-body.layout-listing:has(.collection-index)>.article-inner>.post-active-filters{border-right:1px solid var(--theme-collection-border);border-left:1px solid var(--theme-collection-border)}.article-body.layout-listing:has(.collection-index) .collection-index-item,.article-body.layout-listing:has(.collection-index) .collection-index-item:last-child,.article-body.layout-listing:has(.collection-index) .collection-index-item:nth-last-child(2):nth-child(odd){min-width:0;border:1px solid var(--theme-collection-border);border-radius:16px;background:var(--theme-surface);overflow:hidden;transition:background-color 150ms ease}.article-body.layout-listing:has(.collection-index) .collection-index-item:focus-within{border-color:var(--theme-collection-border);background:var(--theme-list-hover)}@media(hover: hover){.article-body.layout-listing:has(.collection-index) .collection-index-item:hover{border-color:var(--theme-collection-border);background:var(--theme-list-hover)}}.article-body.layout-listing:has(.collection-index) .collection-index-item>a,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible{min-height:72px;padding:16px 20px;background:rgba(0,0,0,0);color:var(--theme-ink);text-decoration:none}.article-body.layout-listing:has(.collection-index) .collection-index-item>a .collection-index-label,.article-body.layout-listing:has(.collection-index) .collection-index-item>a .collection-index-label span,.article-body.layout-listing:has(.collection-index) .collection-index-item>a .collection-index-label i{color:var(--theme-ink);text-decoration:none}.article-body.layout-listing:has(.collection-index) .collection-index-item>a .collection-index-label>span{color:var(--theme-link);font-size:16px;font-weight:var(--weight-strong)}.article-body.layout-listing:has(.collection-index) .collection-index-item>a .collection-index-label>.ui-icon{width:16px;height:16px;font-size:16px}.article-body.layout-listing:has(.collection-index) .collection-index-count{min-width:28px;margin-left:16px;padding:0 7px;border:1px solid #d1d9e0;border-radius:999px;background:rgba(0,0,0,0);font-size:12px;font-weight:var(--weight-medium);line-height:20px;color:var(--theme-muted)}.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover .collection-index-count,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible .collection-index-count{border-color:#d1d9e0;background:rgba(0,0,0,0)}@media(prefers-reduced-motion: reduce){.article-body.layout-listing:has(.collection-index) .collection-index-item{transition:none}}@media(max-width: 1100px)and (min-width: 769px){.article-body.layout-listing:has(.collection-index)>.article-inner>.collection-index{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 768px){.article-body.layout-listing:has(.collection-index)>.article-inner>.collection-toolbar{margin-bottom:0}.article-body.layout-listing:has(.collection-index)>.article-inner>.collection-index{grid-template-columns:minmax(0, 1fr);gap:10px;padding:10px}.article-body.layout-listing:has(.collection-index) .collection-index-item>a,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:hover,.article-body.layout-listing:has(.collection-index) .collection-index-item>a:focus-visible{min-height:62px;padding:12px 14px}}:is(.code-block-wrapper,.highlighter-rouge)>.highlight{grid-column:1;grid-row:1;min-width:0;background:var(--ui-bg-subtle)}:is(.code-block-wrapper,.highlighter-rouge) pre code{color:#24292f}:is(.code-block-wrapper,.highlighter-rouge) :is(.k,.kd,.kn,.kp,.kr,.kt,.kv){color:#cf222e}:is(.code-block-wrapper,.highlighter-rouge) :is(.nb,.nc,.no,.nn){color:#953800}:is(.code-block-wrapper,.highlighter-rouge) :is(.sr,.na,.nt){color:#116329}:is(.code-block-wrapper,.highlighter-rouge) :is(.kc,.l,.ld,.m,.mb,.mf,.mh,.mi,.il,.mo,.mx,.sb,.bp,.ne,.nl,.py,.nv,.vc,.vg,.vi,.vm,.o,.ow){color:#0550ae}:is(.code-block-wrapper,.highlighter-rouge) :is(.gh,.gu){color:#0550ae;font-weight:600}:is(.code-block-wrapper,.highlighter-rouge) :is(.s,.sa,.sc,.dl,.sd,.s2,.se,.sh,.sx,.s1,.ss){color:#0a3069}:is(.code-block-wrapper,.highlighter-rouge) :is(.nd,.nf,.fm){color:#8250df}:is(.code-block-wrapper,.highlighter-rouge) :is(.c,.ch,.cd,.cm,.cp,.cpf,.c1,.cs,.gl,.gt){color:var(--theme-muted)}:is(.code-block-wrapper,.highlighter-rouge) :is(.ni,.si){color:#24292f}:is(.code-block-wrapper,.highlighter-rouge) .gd{color:#82071e;background:#ffebe9}:is(.code-block-wrapper,.highlighter-rouge) .gi{color:#116329;background:#dafbe1}:is(.code-block-wrapper,.highlighter-rouge) .gr{color:#a21d2c}:is(.code-block-wrapper,.highlighter-rouge) .err{color:#f6f8fa;background:#82071e}:is(.code-block-wrapper,.highlighter-rouge) .ge{font-style:italic}:is(.code-block-wrapper,.highlighter-rouge) :is(.gs,.ges){font-weight:600}:is(.code-block-wrapper,.highlighter-rouge) .ges{font-style:italic}:root{--quote-blue-background: #cfe2ff;--quote-blue-border: #9ec5fe;--quote-green-background: #caeac7;--quote-green-border: #a3cfbb;--quote-red-background: #f8d7da;--quote-red-border: #f1aeb5;--quote-yellow-background: #f9dda4;--quote-yellow-border: #ed9b00}.blockquote-color-blue,.article-body[data-blockquote-color=blue]{--blockquote-color-surface: var(--quote-blue-background);--blockquote-color-border: var(--quote-blue-border)}.blockquote-color-green,.article-body[data-blockquote-color=green]{--blockquote-color-surface: var(--quote-green-background);--blockquote-color-border: var(--quote-green-border)}.blockquote-color-red,.article-body[data-blockquote-color=red]{--blockquote-color-surface: var(--quote-red-background);--blockquote-color-border: var(--quote-red-border)}.blockquote-color-yellow,.article-body[data-blockquote-color=yellow]{--blockquote-color-surface: var(--quote-yellow-background);--blockquote-color-border: var(--quote-yellow-border)}.article-body.layout-article .article-inner blockquote{margin-block:var(--article-block-gap);padding:16px 20px;border:1px solid var(--blockquote-color-border, var(--theme-quote-border));border-radius:16px;background:var(--blockquote-color-surface, var(--theme-quote-paper));color:var(--theme-body);box-shadow:none}.article-body.layout-article .article-inner blockquote::before,.article-body.layout-article .article-inner blockquote::after{display:none;content:none}@media(max-width: 768px){.article-body.layout-article .article-inner blockquote{padding:10px}}.article-body.layout-article:not([data-blockquote-color]) .article-inner>blockquote:not(.blockquote-color-blue,.blockquote-color-green,.blockquote-color-red,.blockquote-color-yellow){padding:16px;border-radius:12px}.article-body.layout-article .article-inner em.text-color-red{font-style:inherit}.article-body.layout-article .article-inner .text-color-red{color:var(--ui-fg-danger) !important;font-weight:var(--weight-strong) !important}.toolbar-drag-handle{display:none}.article-body .detail-wrap{--filter-menu-background: var(--theme-canvas);--filter-menu-border: #dedede;--filter-menu-text: var(--theme-ink);--filter-menu-muted: var(--theme-muted);--filter-menu-hover: rgb(82 82 82 / 5%);--filter-menu-active: transparent;--filter-menu-active-border: transparent;--filter-menu-shadow: 0 20px 25px -5px rgb(115 115 115 / 5%), 0 8px 10px -6px rgb(115 115 115 / 5%)}.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary){color:var(--filter-menu-text)}.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary):hover,.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary):focus-visible{background:rgba(0,0,0,0);color:var(--filter-menu-text)}.article-body .detail-wrap :is(.post-filter-summary.is-active,.post-sort-menu[open]>summary,.post-filter-menu[open]>summary){border-color:var(--filter-menu-active-border);background:var(--filter-menu-active);box-shadow:none;color:var(--filter-menu-text)}.article-body .detail-wrap :is(.post-sort-summary,.post-filter-summary):focus-visible{outline:2px solid var(--theme-link);outline-offset:2px;box-shadow:none}.article-body .detail-wrap :is(.post-sort-options,.post-filter-popover){--filter-menu-border: #d1d9e0;border:1px solid var(--filter-menu-border);border-radius:6px;background:var(--filter-menu-background);box-shadow:none;color:var(--filter-menu-text)}.article-body .detail-wrap .post-filter-popover{width:min(320px,100vw - 24px);max-height:min(432px,var(--post-menu-max-height, calc(100dvh - 32px)));padding-bottom:0}.article-body .detail-wrap .post-filter-titlebar{min-height:0;padding:8px 16px 0;border-bottom:0}.article-body .detail-wrap .post-filter-titlebar .post-filter-title{flex-direction:column;align-items:flex-start;gap:0;font-size:12px;line-height:18px}.article-body .detail-wrap .post-filter-popover .post-filter-options{max-height:336px;padding:0;border-top:1px solid var(--filter-menu-border);background:rgba(0,0,0,0)}.article-body .detail-wrap .post-filter-options .post-filter-option{grid-template-columns:16px minmax(0, 1fr) auto;min-height:33px;margin:0;padding:7px 16px;border:0;font-size:12px;font-weight:400;line-height:18px;border-radius:0}.article-body .detail-wrap .post-filter-option-count{color:var(--theme-muted);font-variant-numeric:tabular-nums}.article-body .detail-wrap .post-filter-options .post-filter-option.is-active{background:rgba(0,0,0,0);font-weight:500}.article-body .detail-wrap .post-filter-options .post-filter-option:focus-visible{box-shadow:none}.article-body .detail-wrap .post-filter-options .post-filter-option:is(:hover,:focus-visible){background:var(--filter-menu-hover)}.article-body .detail-wrap .post-filter-options .post-filter-option:is(:hover,:focus-visible)::before{content:none}.article-body .detail-wrap :is(.post-filter-titlebar,.post-sort-titlebar){border-color:var(--filter-menu-border);background:rgba(0,0,0,0)}.article-body .detail-wrap :is(.post-sort-options-title,.post-filter-title){border-color:var(--filter-menu-border);color:var(--filter-menu-text)}.article-body .detail-wrap .post-filter-search{min-height:36px;height:36px;margin:8px;padding:0 12px;border-radius:12px;border-color:var(--filter-menu-border);background:var(--filter-menu-background);color:var(--filter-menu-muted)}.article-body .detail-wrap .post-filter-search input::-webkit-search-decoration,.article-body .detail-wrap .post-filter-search input::-webkit-search-cancel-button{display:none;appearance:none}.article-body .detail-wrap .post-filter-search:focus-within{border-color:var(--theme-border-strong);background:var(--filter-menu-background);box-shadow:none}.article-body .detail-wrap .post-filter-search:focus-within>i{color:var(--filter-menu-text)}.article-body .detail-wrap .post-filter-search input{min-height:34px;height:34px;line-height:20px;font-size:14px;color:var(--filter-menu-text)}.article-body .detail-wrap .post-filter-search .post-filter-search-clear{width:28px;height:28px;min-height:28px}.article-body .detail-wrap .post-filter-search input::placeholder{color:var(--theme-muted)}.article-body .detail-wrap :is(.post-sort-option-list,.post-filter-options){scrollbar-color:var(--ui-scrollbar-thumb) var(--ui-scrollbar-track);scrollbar-width:thin}.article-body .detail-wrap :is(.post-sort-option-list,.post-filter-options)::-webkit-scrollbar{width:8px;height:8px}.article-body .detail-wrap :is(.post-sort-option-list,.post-filter-options)::-webkit-scrollbar-track{background:var(--ui-scrollbar-track)}.article-body .detail-wrap :is(.post-sort-option-list,.post-filter-options)::-webkit-scrollbar-thumb{border:2px solid rgba(0,0,0,0);border-radius:var(--radius-full);background:var(--ui-scrollbar-thumb);background-clip:padding-box}.article-body .detail-wrap :is(.post-sort-option-list,.post-filter-options)::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-thumb-hover);background-clip:padding-box}.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option){color:var(--filter-menu-text)}.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option):hover,.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option):focus-visible,.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option).is-active:hover,.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option).is-active:focus-visible{border-color:rgba(0,0,0,0);background:var(--filter-menu-hover);color:var(--filter-menu-text)}.article-body .detail-wrap .post-sort-option-list>button:focus-visible,.article-body .detail-wrap .post-filter-option:focus-visible{box-shadow:inset 0 0 0 2px rgba(37,37,37,.14)}.article-body .detail-wrap .post-sort-check{width:16px;font-size:16px;visibility:hidden}.article-body .detail-wrap :is(.post-filter-check,.post-sort-check)::before{width:16px;height:16px;transform:none}.article-body .detail-wrap [aria-checked=true]>.post-sort-check{visibility:visible}.article-body .detail-wrap .post-sort-options .post-sort-option-list{padding:4px}.article-body .detail-wrap .post-sort-option-list>button{width:100%;margin-inline:0;padding-inline:10px;border:0;border-radius:12px}.article-body .detail-wrap .post-filter-options>.post-filter-option:not([hidden])~.post-filter-option:not([hidden]),.article-body .detail-wrap .post-sort-option-list>button:not([hidden])~button:not([hidden]){border-top:1px solid var(--filter-menu-border)}.article-body .detail-wrap .post-filter-search-clear:hover,.article-body .detail-wrap .post-filter-search-clear:focus-visible,.article-body .detail-wrap :is(.post-filter-close,.post-sort-close):hover,.article-body .detail-wrap :is(.post-filter-close,.post-sort-close):focus-visible{background:rgba(0,0,0,0);color:var(--filter-menu-text)}@media(min-width: 601px){.article-body .detail-wrap :is(.post-sort-options,.post-filter-popover){--sort-menu-border: var(--filter-menu-border);width:min(300px,100vw - 24px);border-color:var(--sort-menu-border);border-radius:6px;box-shadow:none;color:var(--theme-ink)}.article-body .detail-wrap :is(.post-filter-titlebar,.post-sort-titlebar){display:flex;align-items:center;justify-content:space-between}.article-body .detail-wrap :is(.post-sort-titlebar,.post-filter-titlebar){min-height:33px;padding:7px 7px 7px 16px;border-bottom:1px solid var(--sort-menu-border)}.article-body .detail-wrap :is(.post-sort-options-title,.post-filter-title){flex:1 1 auto;min-height:0;padding:0;border:0;font-size:12px;line-height:18px}.article-body .detail-wrap :is(.post-filter-close,.post-sort-close){display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:8px;border:0;border-radius:12px;box-shadow:none;background:rgba(0,0,0,0);color:var(--theme-muted);font-size:16px;flex-shrink:0;cursor:pointer}.article-body .detail-wrap :is(.post-filter-close,.post-sort-close){min-height:32px;margin:-7px;border-radius:0}.article-body .detail-wrap .post-filter-search{height:32px;min-height:32px;margin:8px;border-color:var(--sort-menu-border);border-radius:6px}.article-body .detail-wrap .post-filter-search input{height:30px;min-height:30px;font-size:12px;line-height:18px}.article-body .detail-wrap .post-sort-options .post-sort-option-list,.article-body .detail-wrap .post-filter-popover .post-filter-options{padding:0}.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-options>.post-filter-option){grid-template-columns:16px minmax(0, 1fr);min-height:33px;margin:0;padding:7px 16px;border-radius:0;gap:8px;font-size:12px;font-weight:400;line-height:18px;color:var(--theme-ink)}.article-body .detail-wrap :is(.post-sort-option-list>button,.post-filter-option)[aria-checked=true]{font-weight:500}.article-body .detail-wrap :is(.post-sort-option-list,.post-filter-options)>button:not([hidden])~button:not([hidden]){border-top:1px solid var(--sort-menu-border)}}.article-body.layout-listing .post-active-filters{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-bottom:1px solid var(--theme-collection-border);background:var(--theme-surface)}.article-body.layout-listing .post-filter-menu:not([open])>.post-filter-summary.is-active{background:rgba(0,0,0,0);box-shadow:none;color:var(--filter-menu-text)}.article-body.layout-listing .post-active-filters[hidden]{display:none}.article-body.layout-listing .post-active-filter-list{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:6px;min-width:0}.article-body.layout-listing .post-active-filter-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}.article-body.layout-listing .post-active-filter{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;max-width:100%;min-height:34px;padding:6px 12px;border:1px solid #c8c5bb;border-radius:12px;background:var(--theme-control-active);color:var(--theme-ink);box-shadow:none;font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap}.article-body.layout-listing .post-active-filter>span{color:inherit;min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis}.article-body.layout-listing .post-active-filter{overflow:hidden}.article-body.layout-listing .post-active-filter>i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 14px;width:14px;height:14px;color:inherit;font-size:12px}.article-body.layout-listing .post-active-filter>i::before{width:14px;height:14px}.article-body.layout-listing .post-active-filter-clear{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;min-height:34px;padding:6px 12px;border:1px solid var(--filter-menu-border);border-radius:12px;background:var(--theme-surface-subtle);color:#3e3e3e;box-shadow:none;font-family:var(--font-ui),sans-serif;font-size:14px;font-weight:var(--weight-medium);line-height:20px;white-space:nowrap}.article-body.layout-listing .post-active-filter-clear>.ui-icon{width:16px;height:16px;color:inherit}@media(hover: hover){.article-body.layout-listing .post-active-filter:hover{border-color:var(--theme-border-strong);background:#e3e1d8}.article-body.layout-listing .post-active-filter-clear:hover{border-color:var(--theme-control-border);background:var(--filter-menu-hover);color:var(--theme-ink)}}@media(max-width: 600px){.article-body.layout-listing .post-active-filters{align-items:flex-start;gap:8px;padding:6px 8px}.article-body.layout-listing .post-active-filter-list{flex-wrap:wrap;gap:6px}.article-body.layout-listing .post-active-filter{flex:0 0 auto;min-height:30px;padding:4px 10px;font-size:12px}.article-body.layout-listing .post-active-filter>span{max-width:112px}.article-body.layout-listing .post-active-filter-clear{min-height:30px;padding:4px 10px;font-size:12px}}@media(max-width: 600px){html.toolbar-modal-open,body.toolbar-modal-open{overflow:hidden;overscroll-behavior:none}body.toolbar-modal-open::before{content:"";position:fixed;inset:0;z-index:9001;background:var(--ui-overlay-backdrop);touch-action:none}.article-body .detail-wrap :is(.post-sort-options,.post-filter-popover){position:fixed;top:auto;bottom:var(--post-menu-bottom, 0px);right:0;left:0;z-index:9002;width:100%;max-width:none;max-height:var(--post-menu-max-height, 85dvh);padding:0 0 env(safe-area-inset-bottom);border:1px solid var(--filter-menu-border);border-bottom:0;border-radius:16px 16px 0 0;background:var(--filter-menu-background);box-shadow:0 -8px 32px rgba(20,20,19,.1);animation:toolbar-panel-enter 180ms ease-out;transform:translateY(var(--toolbar-drag-y, 0px));transition:transform 180ms ease-out}.article-body .detail-wrap :is(.post-sort-options,.post-filter-popover).is-dragging{animation:none;transition:none}.article-body .detail-wrap .toolbar-drag-handle{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:100%;height:28px;min-height:28px;padding:0;border:0;border-radius:0;background:rgba(0,0,0,0);box-shadow:none;touch-action:none;cursor:grab}.article-body .detail-wrap .toolbar-drag-handle>span{width:40px;height:4px;border-radius:999px;background:var(--theme-muted)}.article-body .detail-wrap :is(.post-filter-titlebar,.post-sort-titlebar){display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;min-height:44px;padding:4px 8px 4px 16px;border:0;border-bottom:1px solid var(--filter-menu-border)}.article-body .detail-wrap :is(.post-filter-titlebar .post-filter-title,.post-sort-options-title){margin:0;padding:0;border:0;font-size:14px;line-height:20px}.article-body .detail-wrap :is(.post-filter-close,.post-sort-close){display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:10px;border:0;border-radius:12px;background:rgba(0,0,0,0);box-shadow:none;color:var(--filter-menu-muted);font-size:16px}.article-body .detail-wrap .post-filter-search{flex:0 0 auto;height:40px;min-height:40px;margin:8px;border-radius:6px}.article-body .detail-wrap .post-filter-search input{height:38px;min-height:38px;font-size:16px}.article-body .detail-wrap .post-filter-popover .post-filter-options,.article-body .detail-wrap .post-sort-options .post-sort-option-list{flex:1 1 auto;min-height:0;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,0)}.article-body .detail-wrap .post-filter-popover .post-filter-options{border-top:1px solid var(--filter-menu-border)}.article-body .detail-wrap :is(.post-filter-options>.post-filter-option,.post-sort-option-list>button){grid-template-columns:16px minmax(0, 1fr);min-height:44px;margin:0;padding:11px 16px;border:0;border-radius:0;gap:8px;font-size:14px;font-weight:400;line-height:20px}.article-body .detail-wrap .post-filter-options>.post-filter-option{grid-template-columns:16px minmax(0, 1fr) auto}.article-body .detail-wrap :is(.post-filter-check,.post-sort-check){order:0;width:16px;height:16px}.article-body .detail-wrap :is(.post-filter-option,.post-sort-option-list>button)[aria-checked=true]{background:rgba(0,0,0,0);color:var(--filter-menu-text);font-weight:600}}@keyframes toolbar-panel-enter{from{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion: reduce){.article-body .detail-wrap :is(.post-sort-options,.post-filter-popover){animation:none;transition:none}}@media(max-width: 768px){:root{--type-body: 14px;--article-block-gap: 16px;--article-heading-gap: 24px;--article-heading-after: 10px;--layout-page-inset: 8px;--layout-body-margin-x: 8px}.body .main-content{width:calc(100% - 16px);margin-inline:8px;padding-inline:0}.article-body.layout-article,body.has-sidebar-toc .article-body.layout-article{--theme-prose-size: 16px;--theme-prose-leading: 1.65;padding:4px 0 12px}.article-body.layout-article>.article-inner{padding-inline:0}.article-body.layout-article .page-header .entry-title,.article-body.layout-listing .page-header .entry-title{font-size:24px;font-weight:700}.article-body.layout-article .article-inner>:is(h2,h3),.article-body.layout-listing .archive-index-year :is(h2 a,li a){font-weight:var(--weight-strong)}.article-body.layout-listing:has(.collection-index) .collection-index-count,.search-modal-content #results-container li a :is(.entry-date,.search-freq),.search-modal-content .search-entity-count,.article-body .detail-wrap :is(.post-filter-options>.post-filter-option,.post-sort-option-list>button){font-weight:var(--weight-medium)}.article-body.layout-article .article-inner>h2{font-size:20px}.article-body.layout-article .article-inner>h3{font-size:18px}.article-body.layout-article .article-inner>h4,.article-body.layout-article .article-inner>h5,.article-body.layout-article .article-inner>h6{font-size:16px}.article-body.layout-article .article-inner blockquote{margin-inline:0;padding:10px;border-radius:10px}.article-body.layout-article .article-inner blockquote :is(p,li){font-size:var(--theme-prose-size);line-height:var(--theme-prose-leading)}.article-body.layout-article .article-inner :is(ul,ol){padding-inline-start:22px}.article-body.layout-article .article-inner table :is(th,td){padding:7px 8px;font-size:13px}.article-body.layout-article .article-inner .table-wrapper{max-width:100%;margin-inline:0;overflow-x:auto}.article-body.layout-article .article-inner blockquote{padding:10px}.article-body.layout-article .article-inner :is(p,li){font-weight:500}.article-body.layout-article .code-block-wrapper,.article-body.layout-article .code-tabs>.code-block-wrapper{--code-font-size: 13px;--code-line-height: 1.65;--code-padding-inline: 8px;--code-padding-block: 10px;max-width:100%;margin-inline:0}.content-toggle-summary,.content-toggle-content{padding-inline:10px}.article-body.layout-article .code-tabs .code-tabs-header{padding-inline:8px}.article-body.layout-listing .post-list .post-title,.article-body.layout-listing:has(.collection-index) .collection-index-item>a{font-size:14px}.article-body.layout-listing .post-list .post-row{padding:10px 8px}}@media(max-width: 768px){.article-body.layout-listing .detail-wrap .collection-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:6px 8px}.article-body.layout-listing .detail-wrap .post-toolbar-state{min-width:0;flex-shrink:0}.article-body.layout-listing .detail-wrap .detail-total{font-size:12px;font-weight:600;white-space:nowrap}.article-body.layout-listing .detail-wrap .post-toolbar-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:4px;min-width:0}.article-body.layout-listing .detail-wrap :is(.post-filter-summary,.post-sort-summary){min-height:30px;padding:4px 6px;gap:4px;font-size:12px;font-weight:600}.article-body.layout-listing .detail-wrap .post-sort-summary.is-active>span:first-child{display:inline}.article-body.layout-listing .detail-wrap .post-sort-current-label{display:none;padding-left:0;border-left:0;font-size:12px;font-weight:500}.article-body.layout-listing .detail-wrap :is(.post-filter-summary,.post-sort-summary)>span{font-size:inherit;font-weight:inherit}.article-body.layout-article .meta .post-list-linear .post-meta-badge{font-size:13px;min-height:24px;padding:1px 8px}}@media(max-width: 900px){.body .main-content:has(>.article-body.layout-article){width:calc(100% - 24px);margin-inline:12px;padding-inline:0}.body .main-content>.article-body.layout-article{width:100%;max-width:none;margin-inline:0;padding-inline:0}.body .main-content>.article-body.layout-article>.article-inner{width:100%;box-sizing:border-box;margin-inline:0;padding-inline:0}}:is(button,summary):focus-visible{outline:2px solid var(--theme-link);outline-offset:2px}.article-body .detail-wrap :is(.post-filter-summary,.post-sort-summary){border-color:rgba(0,0,0,0);border-radius:12px;background:rgba(0,0,0,0);font-weight:500}@media(hover: hover){.article-body .detail-wrap :is(.post-filter-summary,.post-sort-summary):hover{background:rgba(0,0,0,0);color:var(--theme-ink)}:is(.article-body .code-tabs .code-tab,.article-body .code-tabs .code-block-copy,.sidebar-collapse-toggle,.sidebar-toc-title,.post-toc-title):hover{background:var(--theme-surface-hover);color:var(--theme-ink)}.article-body .detail-wrap .post-filter-summary.is-active:hover,.article-body .detail-wrap .post-sort-summary.is-active:hover{background:rgba(0,0,0,0)}}.article-body.layout-article .code-block-wrapper>.code-block-copy:hover,.article-body.layout-article .code-block-wrapper>.code-block-copy:focus-visible{background:var(--theme-surface-hover);color:var(--theme-ink)}.article-body.layout-listing .article-inner .collection-toolbar :is(.detail-total,.collection-description,.post-filter-summary,.post-sort-summary){font-family:var(--font-ui),sans-serif;font-size:14px;font-weight:500;line-height:21px;white-space:nowrap}.article-body.layout-listing .article-inner .collection-toolbar :is(.post-filter-summary,.post-sort-summary){height:32px;min-height:32px;padding:0 12px}@media(max-width: 768px){.article-body.layout-listing .detail-wrap .post-toolbar-actions{flex-shrink:0}}.article-body.layout-listing{--font-list: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--font-ui: var(--font-list);--font-number: var(--font-numeric)}.article-body.layout-listing .archive-index-year:hover{background:var(--theme-list-hover)}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-row{grid-template-columns:16px minmax(0, 1fr);align-items:start;gap:8px;min-height:76px;padding:12px 16px}.article-body.layout-listing:has(.collection-toolbar) .post-status{display:inline-flex;align-items:center;justify-content:center;height:22px;color:var(--theme-muted);font-size:16px;line-height:1}.article-body.layout-listing:has(.collection-toolbar) .post-status.is-solved{color:#1a7f37}.article-body.layout-listing:has(.collection-toolbar) .post-status.is-solved>.ui-icon{border-radius:50%;background:#fff}.article-body.layout-listing:has(.collection-toolbar) :is(.blog-home-all-panel,.archive-detail-wrap){border-color:var(--theme-collection-border);border-radius:6px}.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar{min-height:53px;padding:9px 16px;background:var(--theme-toolbar-bg);border-color:var(--theme-collection-border);border-radius:6px 6px 0 0}.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar :is(.detail-total,.collection-description){min-height:0;font-family:var(--font-list);font-size:14px;font-weight:600;color:var(--theme-ink)}.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar :is(.post-filter-summary,.post-sort-summary){height:32px;min-height:32px;padding:0 12px;font-family:var(--font-list);font-size:14px;font-weight:600;color:var(--theme-ink)}.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar :is(.post-filter-summary,.post-sort-summary)>span{font-size:inherit;font-weight:inherit;color:inherit}@media(min-width: 769px){.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar .post-sort-summary{width:77px;padding-inline:10px}}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-item,.article-body.layout-listing:has(.collection-toolbar) .post-list .post-item:last-child,.article-body.layout-listing:has(.collection-toolbar) .post-list .post-item.is-visible-tail{border-color:var(--theme-collection-border)}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-row:hover,.article-body.layout-listing:has(.collection-toolbar) .post-list .post-row:focus-visible{background:var(--theme-list-hover)}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-title{font-family:var(--font-list);font-size:16px;font-weight:600;line-height:1.4;letter-spacing:normal;white-space:normal;overflow-wrap:anywhere}.article-body.layout-listing:has(.collection-toolbar) .post-list :is(.post-row-date,.post-frequency,.post-frequency strong){font-family:var(--font-number);font-size:13px;font-weight:500;line-height:1.5;font-variant-numeric:tabular-nums}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-row-content{gap:5px 16px}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-row-date i,.article-body.layout-listing:has(.collection-toolbar) .post-list .post-frequency i{font-size:12px}@media(max-width: 768px){.article-body.layout-listing:has(.collection-toolbar) .page-header .entry-title{font-size:23px}.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar :is(.post-filter-summary,.post-sort-summary){font-size:13px}.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar{min-height:48px;padding:8px 10px}.article-body.layout-listing:has(.collection-toolbar) .article-inner .collection-toolbar :is(.detail-total,.collection-description){font-size:13px}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-row{min-height:64px;padding:10px}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-title-main{overflow:visible}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-title{font-size:14px;white-space:normal;overflow-wrap:anywhere}.article-body.layout-listing:has(.collection-toolbar) .post-list .post-row-content{column-gap:10px}.article-body.layout-listing:has(.collection-toolbar) .post-list :is(.post-row-date,.post-frequency,.post-frequency strong){font-size:13px}}/*# sourceMappingURL=blog.css.map */