.animated-icon[data-astro-cid-2bx4lysu]{width:30px;height:20px;position:relative;margin:0;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.animated-icon[data-astro-cid-2bx4lysu] span[data-astro-cid-2bx4lysu]{display:block;position:absolute;height:3px;width:100%;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;background:#fff}.animated-icon[data-astro-cid-2bx4lysu] span[data-astro-cid-2bx4lysu]:nth-child(1){top:0}.animated-icon[data-astro-cid-2bx4lysu] span[data-astro-cid-2bx4lysu]:nth-child(2){top:10px}.animated-icon[data-astro-cid-2bx4lysu] span[data-astro-cid-2bx4lysu]:nth-child(3){top:20px}.animated-icon[data-astro-cid-2bx4lysu].open span[data-astro-cid-2bx4lysu]:nth-child(1){top:11px;transform:rotate(135deg)}.animated-icon[data-astro-cid-2bx4lysu].open span[data-astro-cid-2bx4lysu]:nth-child(2){opacity:0;left:-60px}.animated-icon[data-astro-cid-2bx4lysu].open span[data-astro-cid-2bx4lysu]:nth-child(3){top:11px;transform:rotate(-135deg)}.navbar-toggler[data-astro-cid-2bx4lysu]{border-width:0;outline:0;background:none}.collapse[data-astro-cid-2bx4lysu].navbar-collapse.show{display:block!important}@media(max-width:991.98px){.collapse[data-astro-cid-2bx4lysu].navbar-collapse.show{background:#1f3144b3;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:1rem 0;border-radius:.25rem;margin-top:.5rem}html[data-color-scheme=light] .collapse[data-astro-cid-2bx4lysu].navbar-collapse.show{background:#2f4154b3}.collapse[data-astro-cid-2bx4lysu].navbar-collapse.show .nav-link[data-astro-cid-2bx4lysu]{text-align:center;padding:.5rem 1rem}}.search-modal[data-astro-cid-zvis75hk]{color:var(--color-text-primary);overflow-x:hidden;overflow-y:auto}.search-backdrop[data-astro-cid-zvis75hk]{background:#0009}.search-dialog[data-astro-cid-zvis75hk]{position:relative;width:auto;max-width:800px;margin:28px auto;pointer-events:none}.search-content[data-astro-cid-zvis75hk]{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 56px);pointer-events:auto;background:var(--color-board-bg);border:0;border-radius:2px;box-shadow:0 5px 11px #0000002e,0 4px 15px #00000026;overflow:hidden}.search-header[data-astro-cid-zvis75hk]{display:flex;align-items:flex-start;padding:16px;border-bottom:1px solid var(--color-line);border-radius:2px 2px 0 0}.search-title[data-astro-cid-zvis75hk]{width:100%;margin:0;color:var(--color-text-primary);font-size:24px;font-weight:700;line-height:36px;text-align:center}.search-close[data-astro-cid-zvis75hk]{margin:-16px -16px -16px 0;padding:16px;color:var(--color-text-primary);background:transparent;border:0;font-size:24px;font-weight:700;line-height:24px;opacity:.5;cursor:pointer}.search-close[data-astro-cid-zvis75hk]:hover{opacity:.75}.search-body[data-astro-cid-zvis75hk]{position:relative;flex:1 1 auto;margin:0 16px;padding:16px;overflow-y:auto}.search-field[data-astro-cid-zvis75hk]{position:relative;margin-bottom:40px}.search-field[data-astro-cid-zvis75hk] label[data-astro-cid-zvis75hk]{display:block;margin:0;color:var(--color-text-secondary);font-size:12.8px;font-weight:400;line-height:19.2px}.search-input[data-astro-cid-zvis75hk]{display:block;width:100%;height:40.992px;margin:0 0 8px;padding:9.6px 0 6.4px;color:var(--color-text-primary);background:transparent;border:0;border-radius:0;box-shadow:var(--color-line) 0 1px 0 0;font-size:16px;font-weight:400;line-height:24px;outline:0}.search-input[data-astro-cid-zvis75hk]:focus{box-shadow:var(--color-text-link-hover) 0 1px 0 0}.search-field[data-astro-cid-zvis75hk]:focus-within label[data-astro-cid-zvis75hk],.search-field[data-astro-cid-zvis75hk].has-value label[data-astro-cid-zvis75hk]{color:var(--color-text-link-hover)}.search-results[data-astro-cid-zvis75hk]{margin:0;padding:0;border-radius:4px;color:var(--color-text-primary);font-size:16px;line-height:24px}.search-result-title{display:block;width:100%;margin:0;padding:12px 20px;color:var(--color-text-primary);background:transparent;border:0;border-left:3px solid #0d47a1;border-radius:4px 4px 0 0;font-size:16px;font-weight:700;line-height:24px;text-decoration:none}.search-result-title:hover{color:var(--color-text-link-hover);text-decoration:none}.search-result-excerpt{margin:0 0 16px;padding:0 20px;color:var(--color-text-primary);background:transparent;border:0;font-size:16px;font-weight:400;line-height:24px}.search-word{color:#ff4500}.search-empty[data-astro-cid-zvis75hk]{padding:0 20px;color:var(--color-text-secondary)}@media(max-width:991.98px){.search-dialog[data-astro-cid-zvis75hk]{max-width:500px;margin:28px auto}}@media(max-width:575.98px){.search-dialog[data-astro-cid-zvis75hk]{max-width:none;margin:8px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"PingFang SC";--font-mono:"JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"PingFang SC";--default-mono-font-family:var(--font-mono);--color-body-bg:#181c27;--color-board-bg:#252d38;--color-navbar-text:#d0d0d0;--color-text-primary:#c4c6c9;--color-text-secondary:#a7a9ad;--color-text-heading:#c4c6c9;--color-text-link:#1589e9;--color-text-link-hover:#30a9de;--color-link-hover-bg:#30a9de1a;--color-line:#435266;--color-subtitle:#fff;--color-scrollbar:#687582;--color-scrollbar-hover:#252d38;--color-highlight-bg:#303030;--color-inlinecode-bg:#636e7b66;--color-button-bg:#2f4154;--color-button-hover-bg:#46647e;--spacing-sidebar:14rem;--font-size-base:16px;--letter-spacing:.02em;--code-font-size:.85rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.\!collapse{visibility:collapse!important}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-16{top:calc(var(--spacing) * 16)}.right-0{right:calc(var(--spacing) * 0)}.right-6{right:calc(var(--spacing) * 6)}.right-sidebar{right:var(--spacing-sidebar)}.bottom-6{bottom:calc(var(--spacing) * 6)}.left-0{left:calc(var(--spacing) * 0)}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-2{grid-column:2}.col-6{grid-column:6}.col-10{grid-column:10}.col-12{grid-column:12}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.my-auto{margin-block:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.list-item{display:list-item}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-\[3px\]{height:3px}.h-full{height:100%}.max-h-\[75vh\]{max-height:75vh}.min-h-\[60vh\]{min-height:60vh}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.max-w-3xl{max-width:var(--container-3xl)}.shrink-0{flex-shrink:0}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--color-line\)\]{border-color:var(--color-line)}.border-\[var\(--color-text-link-hover\)\]{border-color:var(--color-text-link-hover)}.border-transparent{border-color:#0000}.bg-\[var\(--color-board-bg\)\]{background-color:var(--color-board-bg)}.bg-\[var\(--color-body-bg\)\]{background-color:var(--color-body-bg)}.bg-\[var\(--color-button-bg\)\]{background-color:var(--color-button-bg)}.bg-\[var\(--color-text-link-hover\)\]{background-color:var(--color-text-link-hover)}.bg-transparent{background-color:#0000}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-3{padding-block:calc(var(--spacing) * 3)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[var\(--color-text-heading\)\]{color:var(--color-text-heading)}.text-\[var\(--color-text-link-hover\)\]{color:var(--color-text-link-hover)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-\[var\(--color-text-link-hover\)\]:hover{border-color:var(--color-text-link-hover)}.hover\:bg-\[var\(--color-button-hover-bg\)\]:hover{background-color:var(--color-button-hover-bg)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:text-\[var\(--color-text-link-hover\)\]:hover{color:var(--color-text-link-hover)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--color-text-link-hover\)\]:focus-visible{--tw-ring-color:var(--color-text-link-hover)}.focus-visible\:ring-white\/50:focus-visible{--tw-ring-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}@media(min-width:40rem){.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}}html[data-color-scheme=light]{--color-body-bg:#eee;--color-board-bg:#fff;--color-navbar-bg:#2f4154;--color-navbar-text:#fff;--color-text-primary:#3c4858;--color-text-secondary:#718096;--color-text-heading:#1a202c;--color-text-link:#0366d6;--color-text-link-hover:#30a9de;--color-link-hover-bg:#f8f9fa;--color-line:#eaecef;--color-subtitle:#fff;--color-fold-title:#3c4858;--color-fold-border:#eaecef;--color-scrollbar:#c4c6c9;--color-scrollbar-hover:#a6a6a6;--color-highlight-bg:#f6f8fa;--color-inlinecode-bg:#afb8c133;--color-button-bg:transparent;--color-button-hover-bg:#f2f3f5}html[data-color-scheme=dark]{color-scheme:dark}html[data-color-scheme=light]{color-scheme:light}html{font-size:var(--font-size-base);letter-spacing:var(--letter-spacing);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;font-family:var(--font-sans);overflow-wrap:break-word}body{background-color:var(--color-body-bg);color:var(--color-text-primary);line-height:1.5;transition:color .2s ease-in-out,background-color .2s ease-in-out}body a{color:var(--color-text-primary);cursor:pointer;text-decoration:none;transition:color .2s ease-in-out,background-color .2s ease-in-out}body a:hover{color:var(--color-text-link-hover);text-decoration:none}code{color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar);border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-hover)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background-color:#0000}.banner{cursor:default;will-change:transform;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;position:relative;overflow:hidden}.banner .mask{background-color:#0000004d;width:100%;height:100%;position:absolute}.banner[parallax=true]{will-change:transform;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;transition:transform 50ms ease-out}.banner-text{color:var(--color-subtitle);overflow-wrap:break-word;width:80%;max-width:calc(960px - 6rem)}.banner-text .h2{font-size:2rem;font-weight:500;line-height:1.2}.banner-text .typed-cursor{margin:0 .2rem}@media(max-width:767px){#subtitle,.typed-cursor{font-size:1.5rem}}@media(max-width:575px){.banner-text{font-size:.9rem}#subtitle,.typed-cursor{font-size:1.35rem}}.navbar{background-color:#0000;font-size:.875rem;box-shadow:0 2px 5px #00000029,0 2px 10px #0000001f}.navbar .navbar-brand{color:var(--color-navbar-text)}.navbar .nav-item .nav-link{color:var(--color-navbar-text);transition:color .2s ease-in-out,background-color .2s ease-in-out;display:block}.navbar .nav-item .nav-link svg{width:.875rem;height:.875rem;line-height:inherit;vertical-align:-.125em;margin:0 .2rem;display:inline-block}#color-toggle-icon-light,#color-toggle-icon-dark{display:none}html[data-color-scheme=dark] #color-toggle-icon-dark,html[data-color-scheme=light] #color-toggle-icon-light{display:inline-block}.navbar .nav-item .nav-link:hover{color:var(--color-text-link-hover)}.navbar .nav-item .nav-link:focus{color:var(--color-navbar-text)}.navbar.scrolling-navbar{will-change:background,padding;transition:background .5s ease-in-out,padding .5s ease-in-out}@media(min-width:600px){.navbar.scrolling-navbar{padding-top:12px;padding-bottom:12px}.navbar.scrolling-navbar .navbar-nav>li{transition-duration:1s}}.navbar.scrolling-navbar.top-nav-collapse{padding-top:5px;padding-bottom:5px}.navbar-scrolled,.header-transparent.navbar-scrolled{-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;background:#1f3144b3!important;box-shadow:0 2px 5px #00000029,0 2px 10px #0000001f!important}html[data-color-scheme=light] .navbar-scrolled,html[data-color-scheme=light] .header-transparent.navbar-scrolled{background:#2f4154b3!important}.header-transparent:not(.navbar-scrolled){transition:background-color .5s ease-in-out,box-shadow .5s ease-in-out;background-color:#0000!important;box-shadow:0 2px 5px #00000029,0 2px 10px #0000001f!important}.navbar-link:hover{color:#fff!important}.navbar-link-active{font-weight:400;color:#fff!important}@media(max-width:767px){.navbar{font-size:1rem;line-height:2.5rem}}#board{background-color:var(--color-board-bg);z-index:3;border-radius:.5rem;margin-top:-2rem;padding:3rem 0;transition:background-color .2s ease-in-out;position:relative;box-shadow:0 12px 15px #0000003d,0 17px 50px #00000030}.flex-center{justify-content:center;align-items:center;height:100%;display:flex}.scroll-down-bar{text-align:center;cursor:pointer;z-index:5;color:#fff;width:100%;height:6rem;position:absolute;bottom:0}.scroll-down-bar .scroll-down-icon,.scroll-down-bar>i,.scroll-down-bar>svg{color:#fff;justify-content:center;align-items:center;padding-top:2rem;font-size:2rem;font-weight:700;animation:1.5s infinite scroll-down;display:inline-flex;position:relative;transform:translateZ(0)}.scroll-down-bar .scroll-down-icon svg,.scroll-down-bar>i svg{color:currentColor;width:2rem;height:2rem;padding-top:0;animation:none;display:block;transform:none}@keyframes scroll-down{0%{opacity:.8;top:0}50%{opacity:.4;top:-1em}to{opacity:.8;top:0}}.typed-cursor{color:var(--color-subtitle);font-weight:100}.typed-cursor--blink{animation:.7s infinite typedBlink}@keyframes typedBlink{0%,to{opacity:1}50%{opacity:0}}.index-card{margin-bottom:2.5rem}.index-img img{object-fit:cover;background-color:#0000;border-radius:.25rem;width:100%;height:10rem;display:block;box-shadow:0 5px 11px #0000002e,0 4px 15px #00000026}.index-info{flex-direction:column;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem;display:flex}.index-header{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:1.5rem;font-weight:700;line-height:1.4;overflow:hidden}.index-header .index-pin{color:var(--color-text-primary);margin-right:.15rem;font-size:1.5rem}.index-btm,.index-btm a{color:var(--color-text-secondary)}.index-excerpt{color:var(--color-text-secondary);height:4.2rem;margin:.5rem 0;display:flex;overflow:hidden}.index-excerpt>div{word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;width:100%;line-height:1.4rem;display:-webkit-box}@media(max-width:767px){.index-info{padding-top:1.25rem}.index-header{white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.25rem;display:-webkit-box;overflow:hidden}.index-header .index-pin{font-size:1.25rem}.index-excerpt{height:auto;max-height:4.2rem;margin:.25rem 0}}.pagination{justify-content:center;align-items:center;margin-top:3rem;display:flex}.pagination .space{align-self:flex-end}.pagination .page-number,.pagination .current,.pagination .extend{background-color:#0000;border:0;border-radius:.125rem;outline:0;padding:.5rem .75rem;font-size:.9rem;line-height:1.25}.pagination .page-number{margin:0 .05rem}.pagination .page-number:hover,.pagination .current{background-color:var(--color-button-hover-bg);transition:background-color .2s ease-in-out}.post-content{box-sizing:border-box;padding-left:10%;padding-right:10%}@media(max-width:767px){.post-content{padding-left:2rem;padding-right:2rem}}@media(max-width:424px){.post-content{padding-left:1rem;padding-right:1rem}}.post-metas{flex-wrap:wrap;font-size:.9rem;display:flex}.post-meta>:not(.hover-with-bg){margin-right:.2rem}.post-meta{color:inherit}.post-meta-taxonomy{align-items:center;display:inline-flex}.banner-text .post-meta{color:#fff}.post-meta-icon{vertical-align:baseline;width:1em;height:1em;margin-right:.2em;display:inline}.post-bottom-metas{color:var(--color-text-secondary);margin-bottom:1rem}.post-bottom-metas .post-meta{color:var(--color-text-secondary);font-size:.9rem}.post-bottom-metas .post-meta a{color:var(--color-text-secondary);text-decoration:none}.post-bottom-metas .post-meta a:hover{color:var(--color-text-link-hover);text-decoration:none}.post-bottom-metas .category-chain:not(:last-child):after{color:var(--color-text-secondary);content:"/";margin:0 .25rem}.post-bottom-metas .post-tag:not(:last-child){margin-right:.35rem}#seo-header{display:none}.mt-1{margin-top:.5rem}.mt-3{margin-top:1rem}.mr-2{margin-right:.5rem}.category-list{margin-bottom:1rem}.category{border-bottom:1px solid var(--color-line);align-items:center;display:flex}.category-item{color:var(--color-text-primary);flex:1;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.95rem;text-decoration:none;transition:background-color .2s;display:flex}.category-item:hover{color:var(--color-text-link-hover);text-decoration:none}.list-group-count{color:var(--color-text-secondary);margin-left:.5rem;font-size:.85rem}.category-count{color:var(--color-text-secondary);justify-content:center;align-items:center;padding:.75rem .5rem;font-size:.85rem;text-decoration:none;display:flex}.category-count:hover{color:var(--color-text-link-hover);text-decoration:none}.tag-cloud{text-align:center;padding:2rem 0}.tag-cloud-tag{color:var(--color-text-primary);border-radius:.25rem;margin:.3rem;padding:.3rem .7rem;font-size:.9rem;text-decoration:none;transition:all .2s;display:inline-block}.tag-cloud-tag:hover{color:var(--color-text-link-hover);text-decoration:none}.tag-cloud-tag sup{color:var(--color-text-secondary);margin-left:.2rem;font-size:.7rem}.about-avatar{z-index:3;width:10rem;height:10rem;margin:-8rem auto 1rem;position:relative}.about-avatar img{object-fit:cover;background-color:#0000;border-radius:50%;width:100%;height:100%;box-shadow:0 2px 5px #00000029,0 2px 10px #0000001f}.about-info>div{margin-bottom:.5rem}.about-name{font-size:1.75rem;font-weight:700}.about-intro{font-size:1rem}.about-icons>a{width:1.75rem;height:1.75rem;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;line-height:1;transition:color .2s ease-in-out,background-color .2s ease-in-out,transform .2s ease-in-out;display:inline-flex}.about-icons>a svg{fill:currentColor;width:1.25rem;height:1.25rem;display:block}.about-icons>a.about-icon-email svg{width:1.35rem;height:1.35rem}.about-icons>a.about-icon-zhihu:hover{color:#06f}.about-icons>a.about-icon-email:hover{color:var(--color-text-link-hover)}.about-icons>a:hover{background-color:var(--color-link-hover-bg);transform:translateY(-1px)}.about-icons>a:focus-visible{outline:2px solid var(--color-text-link-hover);outline-offset:2px}.about-icons>a:not(:last-child){margin-right:.5rem}.about-content{box-sizing:border-box}.links .card{box-shadow:none;background-color:#0000;border:0;min-width:33%}.links .card-body{border-radius:.3rem;width:100%;height:100%;margin:1rem 0;padding:1rem;display:block}.links .card-body:hover .link-avatar{transform:scale(1.1)}.links .card-content{flex-wrap:nowrap;width:100%;height:3.5rem;display:flex}.link-avatar{object-fit:cover;flex:none;width:3rem;height:3rem;margin-right:.75rem;transition-duration:.2s;transition-timing-function:ease-in-out}.link-avatar img{object-fit:cover;background-color:#0000;border-radius:50%;width:100%;height:100%}.link-text{flex-direction:column;flex:1;line-height:1.5;display:grid}.link-title{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-weight:700;overflow:hidden}.link-intro{max-height:2rem;color:var(--color-text-secondary);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.2;display:-webkit-box;overflow:hidden}.custom{margin-top:1rem}@media(max-width:767px){.links{flex-direction:column;justify-content:center;align-items:center;display:flex}.links .card{padding-left:2rem;padding-right:2rem}}@media(min-width:768px){.link-text:only-child{margin-left:1rem}}.archive-summary{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:.9rem}.archive-year{margin-bottom:2rem}.archive-year-title{color:var(--color-text-link-hover);border-bottom:2px solid var(--color-text-link-hover);margin-bottom:1rem;padding-bottom:.3rem;font-size:1.4rem;font-weight:700;display:inline-block}.archive-posts{margin:0;padding:0;list-style:none}.archive-post{border-bottom:1px solid var(--color-line);align-items:center;gap:1rem;padding:.4rem 0;display:flex}.archive-post-date{color:var(--color-text-secondary);flex-shrink:0;min-width:5rem;font-size:.85rem}.archive-post-title{color:var(--color-text-primary);text-decoration:none;transition:color .2s}.archive-post-title:hover{color:var(--color-text-link-hover)}.license-box{font-size:.9rem;line-height:inherit;z-index:1;background-color:#3e4b5e59;border-radius:4px;padding:1.25rem;transition:background-color .2s ease-in-out;position:relative;overflow:hidden}html[data-color-scheme=light] .license-box{background-color:#1b1f230d}.license-box .license-icon{position:absolute;top:50%;left:100%}.license-box .license-icon:after{content:"CC";opacity:.1;z-index:-1;border:.08em solid;border-radius:50%;justify-content:center;align-items:center;width:2em;height:2em;font-family:Arial,Helvetica,sans-serif;font-size:3.5rem;font-weight:600;line-height:1;display:flex;position:relative;bottom:1em;left:-2.25em}.license-box .license-title{margin-bottom:1rem}.license-box .license-title div:first-child{margin-bottom:.25rem;line-height:1.2}.license-box .license-title div:nth-child(2){color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.8rem}@media(max-width:767px){.license-box .license-icon:after{font-size:2.6rem}.license-box .license-title div:nth-child(2){max-width:100%}}.license-box .license-meta{flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex}.license-box .license-meta .license-meta-item{justify-content:center;align-items:center;margin-right:1.5rem}.license-box .license-meta .license-meta-item>div:nth-child(2){font-size:.9rem;font-weight:400}.license-box .license-meta .license-meta-item div:first-child{color:var(--color-text-secondary);font-size:.8rem;font-weight:400}.license-box .license-meta .license-meta-item a{color:var(--color-text-primary);margin-right:.2rem;text-decoration:none;display:inline-flex;position:relative}.license-badge{letter-spacing:0;border:1px solid;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .2rem;font-family:Arial,Helvetica,sans-serif;font-size:.56rem;font-weight:700;line-height:1;display:inline-flex}.license-box .license-meta .license-meta-item a:hover{color:var(--color-text-link-hover)}.license-box .license-meta .license-meta-item a[data-tooltip]:before,.license-box .license-meta .license-meta-item a[data-tooltip]:after{opacity:0;pointer-events:none;z-index:5;transition:opacity .15s,transform .15s;position:absolute;transform:translate(-50%,.35rem)}.license-box .license-meta .license-meta-item a[data-tooltip]:before{color:#fff;content:attr(data-tooltip);white-space:nowrap;background:#000000c7;border-radius:4px;padding:.35rem .5rem;font-size:.75rem;line-height:1.2;bottom:calc(100% + .55rem);left:50%}.license-box .license-meta .license-meta-item a[data-tooltip]:after{content:"";border:.32rem solid #0000;border-top-color:#000000c7;bottom:calc(100% - .05rem);left:50%}.license-box .license-meta .license-meta-item a[data-tooltip]:hover:before,.license-box .license-meta .license-meta-item a[data-tooltip]:hover:after,.license-box .license-meta .license-meta-item a[data-tooltip]:focus-visible:before,.license-box .license-meta .license-meta-item a[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.post-prevnext{flex-wrap:wrap;justify-content:space-between;margin-left:-.35rem;margin-right:-.35rem;font-size:.9rem;display:flex}.post-prevnext .post-prev,.post-prevnext .post-next{padding-left:0;padding-right:0;display:flex}.post-prevnext .post-nav-icon{color:currentColor;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.5rem;height:1.5rem}.post-prevnext .post-prev a,.post-prevnext .post-next a{align-items:center;display:flex}.post-prevnext .post-prev .hidden-mobile,.post-prevnext .post-next .hidden-mobile{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-prevnext .post-next{justify-content:flex-end}.post-prevnext .fa-chevron-left,.post-prevnext .arrow-left,.post-prevnext .icon-arrowleft,.post-prevnext .post-nav-icon-left{margin-right:.5rem}.post-prevnext .fa-chevron-right,.post-prevnext .arrow-right,.post-prevnext .icon-arrowright,.post-prevnext .post-nav-icon-right{margin-left:.5rem}@media(max-width:575px){.post-prevnext .post-prev .hidden-mobile,.post-prevnext .post-next .hidden-mobile{display:none}}.footer-inner{color:var(--color-text-secondary);text-align:center;padding:3rem 0 1rem;font-size:.85rem;font-weight:400;line-height:1.8}.footer-inner>div{margin:.25rem 0}.footer-inner a{color:inherit;font-size:inherit;font-weight:inherit}.footer-inner a:hover{color:var(--color-text-link-hover)}.footer-inner .footer-hosting{justify-content:center;align-items:center;display:flex}.footer-inner .footer-hosting a{align-items:center;width:auto;display:inline-flex}.footer-inner .footer-hosting .upyun-logo{vertical-align:middle;width:auto;max-width:none;height:20px;margin:0 .2rem;display:inline-block!important}.footer-inner .statistics{flex-direction:row;justify-content:center;display:flex}.footer-inner .statistics>span{flex:1;margin:0 .25rem}.footer-inner .beian{flex-direction:row;justify-content:center;display:flex}.footer-inner .beian>*{margin:0 .25rem}.footer-inner .beian-police-link{align-items:center;display:inline-flex}.footer-inner .beian .beian-police-icon{width:1rem;max-width:none;height:1rem;margin-right:3px;display:inline-block}#scroll-top-button{z-index:99;background:var(--color-board-bg);border-radius:4px;outline:none;align-items:center;min-width:40px;min-height:40px;transition:background-color .2s ease-in-out,bottom .3s;display:flex;position:fixed;bottom:-60px;box-shadow:0 2px 5px #00000029,0 2px 10px #0000001f}#scroll-top-button i{color:var(--color-text-secondary);margin:auto;font-size:32px}#toc{visibility:visible}.toc-header{margin-bottom:.5rem;font-size:1.25rem;font-weight:700;line-height:1.2}.toc-body{max-height:75vh;overflow-y:auto;overflow:-moz-scrollbars-none;-ms-overflow-style:none}.toc-body::-webkit-scrollbar{display:none}.tocbot-list{position:relative}.tocbot-list ol{padding-left:1rem;list-style:none}.tocbot-list a{font-size:.95rem}.tocbot-link{color:var(--color-text-primary)}.tocbot-active-link{color:var(--color-text-link-hover);font-weight:700}.toc-list-item{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar{padding:3rem 0;position:sticky;top:2rem}.hover-with-bg{line-height:1;display:inline-block}.hover-with-bg:hover{background-color:var(--color-link-hover-bg);border-radius:.2rem;transition-duration:.2s;transition-timing-function:ease-in-out}.fade-in-up{animation-name:fade-in-up}@keyframes fade-in-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translate(0)}}.hidden-mobile{display:block}.visible-mobile{display:none}@media(max-width:575px){.hidden-mobile{display:none}.visible-mobile{display:block}}.nomargin-x{margin-left:0!important;margin-right:0!important}.nopadding-x{padding-left:0!important;padding-right:0!important}@media(max-width:767px){.nopadding-x-md{padding-left:0!important;padding-right:0!important}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{flex-wrap:wrap;margin-left:-15px;margin-right:-15px;display:flex}.col-12,.col-sm-12,.col-md-6,.col-lg-4{flex:0 0 100%;width:100%;max-width:100%;padding-left:15px;padding-right:15px;position:relative}@media(min-width:768px){.col-md-6{flex:0 0 50%;max-width:50%}.col-md-10{flex:0 0 83.3333%;width:100%;max-width:83.3333%;padding-left:15px;padding-right:15px;position:relative}.col-md-12{flex:0 0 100%;width:100%;max-width:100%;padding-left:15px;padding-right:15px;position:relative}}@media(min-width:992px){.col-lg-4{flex:0 0 33.3333%;max-width:33.3333%}.col-lg-2{flex:0 0 16.6667%;width:100%;max-width:16.6667%;padding-left:15px;padding-right:15px;position:relative}.col-lg-8{flex:0 0 66.6667%;width:100%;max-width:66.6667%;padding-left:15px;padding-right:15px;position:relative}}.m-auto{margin:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.ml-auto{margin-left:auto!important}.mr-3{margin-right:1rem!important}.d-none{display:none!important}@media(min-width:992px){.d-lg-block{display:block!important}}.text-center{text-align:center!important}.fixed-top{z-index:1030;position:fixed;top:0;left:0;right:0}.navbar{flex-wrap:wrap;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.navbar-brand{font-size:1.25rem;line-height:inherit;white-space:nowrap;margin-right:1rem;padding-top:.3125rem;padding-bottom:.3125rem;text-decoration:none;display:inline-block}.navbar-nav{flex-direction:column;margin-bottom:0;padding-left:0;list-style:none;display:flex}.navbar-nav .nav-link{padding-left:0;padding-right:0}.nav-item{list-style:none}.nav-link{padding:.5rem 1rem;display:block}@media(min-width:992px){.navbar-expand-lg{flex-flow:row;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}}.navbar>.container{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}@media(min-width:992px){.navbar>.container{flex-wrap:nowrap}}.collapse.navbar-collapse{visibility:visible!important}.collapse:not(.show){display:none}@media(min-width:992px){.collapse:not(.show){display:flex!important}}.navbar-toggler{background-color:#0000;border:1px solid #0000;border-radius:.25rem;padding:.25rem .75rem;font-size:1.25rem;line-height:1}@media(min-width:992px){.navbar-toggler{display:none}}.pt-16{padding-top:4rem}.side-col{min-height:1px}.full-bg-img{width:100%;height:100%;position:relative}.header-inner{width:100%;position:relative}.bilibili-wrapper,.video-player-wrapper{margin:1.5em 0}.bilibili-container,.video-player-container{background:#000;border-radius:8px;width:100%;max-width:640px;overflow:hidden}.bilibili-container{position:relative}.bilibili-iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-player-title{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.875rem}.video-player-container video{width:100%;height:100%;display:block}.audio-player-wrapper{margin:1.6rem 0}.audio-player-media{display:none}.audio-player-shell{border:1px solid #435266b8;align-items:center;gap:.875rem;width:100%;padding:.875rem 1rem;display:flex}@supports (color:color-mix(in lab,red,red)){.audio-player-shell{border:1px solid color-mix(in srgb,var(--color-line) 72%,transparent)}}.audio-player-shell{background:linear-gradient(180deg,#323a44,var(--color-board-bg));border-radius:8px}@supports (color:color-mix(in lab,red,red)){.audio-player-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--color-board-bg) 94%,#fff 6%),var(--color-board-bg))}}.audio-player-shell{box-shadow:0 4px 16px #0000001f}html[data-color-scheme=light] .audio-player-shell{background:#fff;box-shadow:0 4px 16px #2f415414}.audio-player-play,.audio-player-action{color:var(--color-text-primary);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;transition:color .2s,background-color .2s,transform .2s;display:inline-flex}.audio-player-play{background:var(--color-text-link);color:#fff;border-radius:999px;width:2.625rem;height:2.625rem}.audio-player-play:hover{background:var(--color-text-link-hover);transform:translateY(-1px)}.audio-player-main{flex:auto;min-width:0}.audio-player-heading{align-items:baseline;gap:.5rem;min-width:0;margin-bottom:.45rem;display:flex}.audio-player-title{color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;line-height:1.35;overflow:hidden}.audio-player-author{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:.82rem;line-height:1.35;overflow:hidden}.audio-player-controls{grid-template-columns:auto minmax(5rem,1fr) auto;align-items:center;gap:.625rem;display:grid}.audio-player-time{color:var(--color-text-secondary);font-family:var(--font-mono);white-space:nowrap;font-size:.74rem;line-height:1}.audio-player-progress{--audio-progress:0%;appearance:none;cursor:pointer;background:0 0;width:100%;height:1.125rem;margin:0}.audio-player-progress::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--color-text-link) 0%,var(--color-text-link) var(--audio-progress),#4352669e var(--audio-progress),#4352669e 100%);border-radius:999px;height:.25rem}@supports (color:color-mix(in lab,red,red)){.audio-player-progress::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--color-text-link) 0%,var(--color-text-link) var(--audio-progress),color-mix(in srgb,var(--color-line) 62%,transparent) var(--audio-progress),color-mix(in srgb,var(--color-line) 62%,transparent) 100%)}}.audio-player-progress::-moz-range-track{background:#4352669e;border-radius:999px;height:.25rem}@supports (color:color-mix(in lab,red,red)){.audio-player-progress::-moz-range-track{background:color-mix(in srgb,var(--color-line) 62%,transparent)}}.audio-player-progress::-moz-range-progress{background:var(--color-text-link);border-radius:999px;height:.25rem}.audio-player-progress::-webkit-slider-thumb{appearance:none;border:2px solid var(--color-board-bg);background:var(--color-text-link);border-radius:999px;width:.875rem;height:.875rem;margin-top:-.3125rem;box-shadow:0 1px 4px #00000047}.audio-player-progress::-moz-range-thumb{border:2px solid var(--color-board-bg);background:var(--color-text-link);border-radius:999px;width:.875rem;height:.875rem;box-shadow:0 1px 4px #00000047}.audio-player-actions{flex:none;align-items:center;gap:.25rem;display:flex}.audio-player-action{background:0 0;border-radius:6px;width:2rem;height:2rem}.audio-player-action:hover{background:var(--color-button-hover-bg);color:var(--color-text-link-hover)}.audio-player-download{text-decoration:none}.audio-icon{fill:currentColor;width:1.125rem;height:1.125rem}.audio-icon-pause,.audio-icon-muted,.audio-player-wrapper.is-playing .audio-icon-play,.audio-player-wrapper.is-muted .audio-icon-volume{display:none}.audio-player-wrapper.is-playing .audio-icon-pause,.audio-player-wrapper.is-muted .audio-icon-muted{display:block}.audio-player-wrapper.is-loading .audio-player-play{opacity:.72;pointer-events:none}@media(max-width:575.98px){.audio-player-shell{align-items:flex-start;gap:.75rem;padding:.75rem}.audio-player-actions{flex-direction:column;gap:.125rem}.audio-player-heading{flex-direction:column;gap:.125rem;margin-bottom:.5rem}.audio-player-controls{grid-template-columns:auto 1fr;gap:.5rem}.audio-player-controls .audio-player-time:last-child{grid-column:2;justify-self:end}.audio-player-progress{grid-area:1/1/auto/-1}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}.markdown-body{font-size:1rem;line-height:1.6;font-family:var(--font-sans);margin-bottom:2rem;color:var(--color-text-primary)}.markdown-body>h1,.markdown-body h2{border-bottom-color:var(--color-line);border-bottom-style:solid;border-bottom-width:1px;padding-bottom:.3em}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--color-text-heading);transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out;font-weight:700;line-height:1.25;margin-top:2em;margin-bottom:.75em}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em}.markdown-body>h1:before,.markdown-body h2:before,.markdown-body h3:before,.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{display:block;content:"";margin-top:-5rem;height:5rem;width:1px;visibility:hidden}.markdown-body>h1:focus,.markdown-body h2:focus,.markdown-body h3:focus,.markdown-body h4:focus,.markdown-body h5:focus,.markdown-body h6:focus{outline:none}.post-content>h1{font-size:2.5rem;font-weight:700;line-height:1.5;margin-top:.5em;margin-bottom:.75em}.markdown-body a{color:var(--color-text-link)}.markdown-body strong{font-weight:700}.markdown-body *{box-sizing:border-box}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body table,.markdown-body pre{margin-top:0;margin-bottom:1rem}.markdown-body ul,.markdown-body ol{padding-left:2rem}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul,.markdown-body li{margin-top:0;margin-bottom:0}.markdown-body dd{margin-left:0}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body figure{margin:1.5rem 0 2rem}.markdown-body :not(pre)>code,.markdown-body tt{tab-size:4;background-color:var(--color-inlinecode-bg);border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.85em;padding:.2em .4em;transition:background-color .2s ease-in-out}.markdown-body table tr{border-top:1px solid var(--color-line);background-color:var(--color-board-bg);transition:background-color .2s ease-in-out}.markdown-body table{display:block;width:100%;overflow:auto;border-spacing:0;border-collapse:collapse}.markdown-body table tr:nth-child(2n){background-color:var(--color-board-bg);transition:background-color .2s ease-in-out}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--color-line);border-color:var(--color-line);transition:border-color .2s ease-in-out}.markdown-body table th{font-weight:600}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:1px solid #d1d5da;border-radius:3px;box-shadow:inset 0 -1px #d1d5da}.markdown-body pre{font-size:var(--code-font-size)!important;background-color:var(--color-highlight-bg)!important;border-radius:3px;overflow-x:auto;padding:1.45rem 1rem;white-space:pre!important;word-wrap:normal!important}.markdown-body pre code{background-color:var(--color-highlight-bg);border-radius:3px;color:#ddd;display:block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:var(--code-font-size);line-height:1.45;overflow-x:auto;padding:0;white-space:pre;word-wrap:normal}.markdown-body pre.astro-code code{background-color:var(--color-highlight-bg)}.markdown-body pre.astro-code code span{background-color:transparent!important}.markdown-body pre .mermaid{text-align:center}.markdown-body pre .mermaid>svg{min-width:100%}.markdown-body p>img,.markdown-body p>a>img,.markdown-body figure>img,.markdown-body figure>a>img{max-width:90%;margin:0 auto .45rem;display:block;box-shadow:0 5px 11px #0000002e,0 4px 15px #00000026;border-radius:4px;background-color:transparent}.markdown-body figure>figcaption.image-caption{color:var(--color-text-primary);font-size:.8rem;line-height:1.4;margin:0 auto;opacity:.65;text-align:center}.markdown-body>div[style*="text-align:center"]:has(>img),.markdown-body>div[style*="text-align: center"]:has(>img){margin:1.5rem 0 2rem;text-align:center}.markdown-body>div[style*="text-align:center"]>img,.markdown-body>div[style*="text-align: center"]>img{display:block;max-width:90%;height:auto;margin:0 auto .45rem;zoom:normal!important}.markdown-body>div[style*="text-align:center"]>br,.markdown-body>div[style*="text-align: center"]>br{display:none}.markdown-body>div[style*="text-align:center"]>img+br+div,.markdown-body>div[style*="text-align: center"]>img+br+div{padding:0!important;color:var(--color-text-primary)!important;font-size:.8rem;line-height:1.4;opacity:.65;text-align:center}.markdown-body>center:has(>img){display:block;margin:1.5rem 0 2rem;text-align:center}.markdown-body>center>img{display:block;max-width:90%;height:auto;margin:0 auto .45rem}.markdown-body>center>br{display:none}.markdown-body>center>img+br+div{padding:0!important;border-bottom:0!important;color:var(--color-text-primary)!important;font-size:.8rem;line-height:1.4;opacity:.65;text-align:center}.markdown-body figure>figcaption:not(.image-caption){display:none}.markdown-body blockquote{background-color:transparent;border-left:.25em solid #dfe2e5;color:var(--color-text-secondary);padding:0 1em}.markdown-body details{cursor:pointer}.markdown-body details summary{outline:none}.markdown-body hr{background-color:initial;border-top:1px solid var(--color-line);transition:border-top-color .2s ease-in-out;height:0;margin:2rem 0}sup>a:before,.footnote-text:before{display:inline-block;content:"";margin-top:-5rem;height:5rem;width:1px;visibility:hidden}.footnote-item:before{display:block;content:"";margin-top:-5rem;height:5rem;width:1px;visibility:hidden}.footnote-list ol{list-style-type:none;counter-reset:sectioncounter;padding-left:.5rem;font-size:.95rem}.footnote-list ol li:before{font-family:Helvetica Neue,monospace,Monaco;content:"[" counter(sectioncounter) "]";counter-increment:sectioncounter}.footnote-list ol li+li{margin-top:.5rem}.footnote-text{padding-left:.5em}.markdown-body .btn{border:1px solid var(--color-line);background-color:var(--color-button-bg);color:var(--color-text-primary);transition:color .2s ease-in-out,background .2s ease-in-out,border-color .2s ease-in-out;border-radius:.25rem;display:inline-block;font-size:.875em;line-height:2;padding:0 .75rem;margin-bottom:1rem}.markdown-body .btn:hover{background-color:var(--color-button-hover-bg);text-decoration:none}.prose{font-size:1rem;line-height:1.6;font-family:var(--font-sans);margin-bottom:2rem;color:var(--color-text-primary);overflow-wrap:break-word}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--color-text-heading);font-weight:700;margin-bottom:.75em;margin-top:2em}.prose>h1,.prose h2{border-bottom:2px solid var(--color-line);padding-bottom:.3em}.prose h1{font-size:1.75em}.prose h2{font-size:1.5em}.prose h3{font-size:1.25em}.prose h4{font-size:1.1em}.prose p{margin-bottom:1.25em}.prose img{max-width:90%;margin:1.5rem auto;display:block;border-radius:4px;background-color:transparent}.prose a{color:var(--color-text-link);text-decoration:none}.prose a:hover{color:var(--color-text-link-hover)}.prose blockquote{border-left:4px solid var(--color-text-link-hover);padding-left:1em;margin:1em 0;color:var(--color-text-secondary)}.prose :not(pre)>code{font-family:var(--font-mono);tab-size:4;background-color:var(--color-inlinecode-bg);padding:.15em .4em;border-radius:3px;font-size:.875em}.prose pre{margin:1em 0;border-radius:4px;overflow-x:auto;background-color:var(--color-highlight-bg)}.prose pre code{background:none;padding:0;font-size:var(--code-font-size);line-height:1.6;color:var(--color-text-primary)}.prose table{width:100%;border-collapse:collapse;margin:1em 0}.prose th,.prose td{border:1px solid var(--color-line);padding:.5em .75em;text-align:left}.prose th{background-color:var(--color-board-bg);font-weight:600}.prose ul,.prose ol{padding-left:1.5em;margin-bottom:1em}.prose li{margin-bottom:.3em}.prose hr{border:none;border-top:1px solid var(--color-line);margin:2rem 0}
