﻿*,*::before,*::after{box-sizing:border-box;margin:0;position:relative}body{min-height:100vh;transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:normal;color:#000;background-color:#fff;overflow-x:hidden}body.dark{color:#fff;background-color:#000}#app{max-width:100vw;margin:0 auto;padding:0;font-weight:normal;overflow-x:hidden}a{text-decoration:none;color:inherit;transition:.4s}.copyright{padding:1rem 0;font-size:.8rem;text-align:center;opacity:.5;color:var(--vt-c-black-mute)}.columns-container{max-width:923px !important;display:flex;margin:0 auto}.dark .list-footer,.dark .post-footer{color:#fff;background:#000}.light .list-footer,.light .post-footer{color:#000;background:#fff}.v-enter-active,.v-leave-active{transition:opacity .2s ease}.v-enter-from,.v-leave-to{opacity:0}@media screen and (max-width: 960px){.columns-container{flex-direction:column}}.glow-button-wrapper{display:block;flex-direction:row;position:relative;max-width:inherit;width:100%;height:44px}.glow-button-wrapper input{position:absolute;flex:1;border-right:none !important;border-top-right-radius:0;border-bottom-right-radius:0;width:60%;background:rgba(0,0,0,0);left:0;transition:all .2s ease-in-out}.glow-button-wrapper button,.glow-button-wrapper .button-glow{width:40%;position:absolute;left:50%;transform:translateX(-50%)}.glow-button-wrapper .button-glow{position:absolute;background-color:rgba(180,233,65,.4);color:#b3e941;filter:blur(20px);height:44px}.light .glow-button-wrapper .button-glow{display:none}.light .form .stat a{text-decoration:underline;color:var(--vt-c-golden-dark)}.light .post-toc{border-left:1px solid var(--vt-c-divider-light-3)}.light .post-toc .post-toc-outline-marker{background:var(--vt-c-black-soft)}.light .post-toc a{color:var(--vt-c-text-light-3)}.light .post-toc a:hover{color:var(--vt-c-text-light-2)}.light .post-toc a.active{color:var(--vt-c-text-light-1)}.light .post-toc .post-toc-title .line{background:var(--vt-c-white-mute)}.dark .glow-button-wrapper button.button{z-index:2;color:#b3e941;font-weight:400;background:rgba(180,233,65,.3);box-shadow:none !important}.dark .glow-button-wrapper button.button[disabled]{background:rgba(180,233,65,.2) !important;box-shadow:none !important}.dark .glow-button-wrapper input{border:1px solid rgba(255,255,255,.2);color:#fff}.dark .glow-button-wrapper input:focus{border-color:rgba(180,233,65,.2)}.dark .form .stat a{text-decoration:underline;color:#b3e941}.dark .post-toc{border-left:1px solid var(--vt-c-divider-dark-3)}.dark .post-toc .post-toc-outline-marker{background:var(--vt-c-black-mute)}.dark .post-toc a{color:var(--vt-c-text-dark-3)}.dark .post-toc a:hover{color:var(--vt-c-text-dark-2)}.dark .post-toc a.active{color:var(--vt-c-text-dark-1)}.dark .post-toc .post-toc-title .line{background:var(--vt-c-black-mute)}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}pre.mermaid{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333}pre.mermaid .cluster-label text{fill:#333}pre.mermaid .cluster-label span{color:#333}pre.mermaid p{color:#333}pre.mermaid .label text,pre.mermaid span,pre.mermaid p{fill:#333;color:#333}pre.mermaid .node rect,pre.mermaid .node circle,pre.mermaid .node ellipse,pre.mermaid .node polygon,pre.mermaid .node path{fill:#ececff;stroke:#9370db;stroke-width:1px}pre.mermaid .flowchart-label text{text-anchor:middle}pre.mermaid .node .label{text-align:center}pre.mermaid .node.clickable{cursor:pointer}pre.mermaid .arrowheadPath{fill:#333}pre.mermaid .edgePath .path{stroke:#333;stroke-width:2px}pre.mermaid .flowchart-link{stroke:#333;fill:none}pre.mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}pre.mermaid .edgeLabel rect{opacity:.5;background-color:#e8e8e8;fill:#e8e8e8}pre.mermaid .labelBkg{background-color:rgba(232,232,232,.5)}pre.mermaid .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}pre.mermaid .cluster text{fill:#333}pre.mermaid .cluster span{color:#333}pre.mermaid p{color:#333}pre.mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:#f9ffec;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}pre.mermaid .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid .actor{stroke:#dacef3;fill:#ececff}pre.mermaid text.actor>tspan{fill:#000;stroke:none}pre.mermaid .actor-line{stroke:gray}pre.mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}pre.mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333}pre.mermaid #arrowhead path{fill:#333;stroke:#333}pre.mermaid .sequenceNumber{fill:#fff}pre.mermaid #sequencenumber{fill:#333}pre.mermaid #crosshead path{fill:#333;stroke:#333}pre.mermaid .messageText{fill:#333;stroke:none}pre.mermaid .labelBox{stroke:#dacef3;fill:#ececff}pre.mermaid .labelText,pre.mermaid .loopText{fill:#000;stroke:none}pre.mermaid .labelText>tspan,pre.mermaid .loopText>tspan{fill:#000;stroke:none}pre.mermaid .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#dacef3;fill:#dacef3}pre.mermaid .note{stroke:#aa3;fill:#fff5ad}pre.mermaid .noteText{fill:#000;stroke:none}pre.mermaid .noteText>tspan{fill:#000;stroke:none}pre.mermaid .activation0,pre.mermaid .activation1,pre.mermaid .activation2{fill:#f4f4f4;stroke:#666}pre.mermaid .actorPopupMenu{position:absolute}pre.mermaid .actorPopupMenuPanel{position:absolute;fill:#ececff;box-shadow:0px 8px 16px 0px rgba(0,0,0,.2);filter:drop-shadow(3px 5px 2px rgba(0, 0, 0, 0.4))}pre.mermaid .actor-man line{stroke:#dacef3;fill:#ececff}pre.mermaid .actor-man circle{stroke:#dacef3;fill:#ececff;stroke-width:2px}pre.mermaid line{stroke:#dacef3;fill:#ececff;stroke-width:2px}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid .entityBox{fill:#ececff;stroke:#9370db}pre.mermaid .attributeBoxOdd{fill:#fff;stroke:#9370db}pre.mermaid .attributeBoxEven{fill:#f2f2f2;stroke:#9370db}pre.mermaid .relationshipLabelBox{fill:#f9ffec;opacity:.7;background-color:#f9ffec}pre.mermaid .relationshipLabelBox rect{opacity:.5}pre.mermaid .relationshipLine{stroke:#333}pre.mermaid .entityTitleText{text-anchor:middle;font-size:18px;fill:#333}pre.mermaid #MD_PARENT_START,pre.mermaid #MD_PARENT_END{fill:#f5f5f5 !important;stroke:#333 !important;stroke-width:1}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid g.classGroup text{fill:#9370db;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px}pre.mermaid g.classGroup text .title{font-weight:bolder}pre.mermaid .nodeLabel{color:#131300}pre.mermaid .edgeLabel{color:#131300}pre.mermaid .edgeLabel .label rect{fill:#ececff}pre.mermaid .label text{fill:#131300}pre.mermaid .edgeLabel .label span{background:#ececff}pre.mermaid .classTitle{font-weight:bolder}pre.mermaid .node rect,pre.mermaid .node circle,pre.mermaid .node ellipse,pre.mermaid .node polygon,pre.mermaid .node path{fill:#ececff;stroke:#9370db;stroke-width:1px}pre.mermaid .divider{stroke:#9370db;stroke-width:1}pre.mermaid g.clickable{cursor:pointer}pre.mermaid g.classGroup rect{fill:#ececff;stroke:#9370db}pre.mermaid g.classGroup line{stroke:#9370db;stroke-width:1}pre.mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}pre.mermaid .classLabel .label{fill:#9370db;font-size:10px}pre.mermaid .relation{stroke:#333;stroke-width:1;fill:none}pre.mermaid .dashed-line{stroke-dasharray:3}pre.mermaid .dotted-line{stroke-dasharray:1 2}pre.mermaid #compositionStart,pre.mermaid .composition,pre.mermaid #compositionEnd,pre.mermaid .composition,pre.mermaid #dependencyStart,pre.mermaid .dependency,pre.mermaid #dependencyStart,pre.mermaid .dependency{fill:#333 !important;stroke:#333 !important;stroke-width:1}pre.mermaid #extensionStart,pre.mermaid .extension,pre.mermaid #extensionEnd,pre.mermaid .extension,pre.mermaid #aggregationStart,pre.mermaid .aggregation,pre.mermaid #aggregationEnd,pre.mermaid .aggregation,pre.mermaid #lollipopStart,pre.mermaid .lollipop,pre.mermaid #lollipopEnd,pre.mermaid .lollipop{fill:#ececff !important;stroke:#333 !important;stroke-width:1}pre.mermaid .edgeTerminals{font-size:11px}pre.mermaid .classTitleText{text-anchor:middle;font-size:18px;fill:#333}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid defs #statediagram-barbEnd{fill:#333;stroke:#333}pre.mermaid g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;fill:#333;stroke:none;font-size:10px}pre.mermaid g.stateGroup .state-title{font-weight:bolder;fill:#131300}pre.mermaid g.stateGroup rect{fill:#ececff;stroke:#9370db}pre.mermaid g.stateGroup line{stroke:#333;stroke-width:1}pre.mermaid .transition{stroke:#333;stroke-width:1;fill:none}pre.mermaid .stateGroup .composit{fill:#fff;border-bottom:1px}pre.mermaid .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}pre.mermaid .state-note{stroke:#aa3;fill:#fff5ad}pre.mermaid .state-note text{fill:#000;stroke:none;font-size:10px}pre.mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}pre.mermaid .edgeLabel .label rect{fill:#ececff;opacity:.5}pre.mermaid .edgeLabel .label text{fill:#333}pre.mermaid .label div .edgeLabel{color:#333}pre.mermaid .stateLabel text{fill:#131300;font-size:10px;font-weight:bold}pre.mermaid .node circle.state-start,pre.mermaid .node .fork-join{fill:#333;stroke:#333}pre.mermaid .node circle.state-end{fill:#9370db;stroke:#fff;stroke-width:1.5}pre.mermaid .end-state-inner{fill:#fff;stroke-width:1.5}pre.mermaid .node rect,pre.mermaid .node polygon{fill:#ececff;stroke:#9370db;stroke-width:1px}pre.mermaid #statediagram-barbEnd{fill:#333}pre.mermaid .statediagram-cluster rect{fill:#ececff;stroke:#9370db;stroke-width:1px}pre.mermaid .cluster-label,pre.mermaid .nodeLabel{color:#131300}pre.mermaid .statediagram-cluster rect.outer{rx:5px;ry:5px}pre.mermaid .statediagram-state .divider{stroke:#9370db}pre.mermaid .statediagram-state .title-state{rx:5px;ry:5px}pre.mermaid .statediagram-cluster.statediagram-cluster .inner{fill:#fff}pre.mermaid .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0}pre.mermaid .statediagram-cluster .inner{rx:0;ry:0}pre.mermaid .statediagram-state rect.basic{rx:5px;ry:5px}pre.mermaid .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0}pre.mermaid .note-edge{stroke-dasharray:5}pre.mermaid .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0;fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}pre.mermaid .statediagram-note text{fill:#000}pre.mermaid .statediagram-note .nodeLabel{color:#000}pre.mermaid .statediagram .edgeLabel{color:red}pre.mermaid #dependencyStart,pre.mermaid #dependencyEnd{fill:#333;stroke:#333;stroke-width:1}pre.mermaid .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid .label{font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family);color:#333}pre.mermaid .mouth{stroke:#666}pre.mermaid line{stroke:#333}pre.mermaid .legend{fill:#333}pre.mermaid .label{color:#333}pre.mermaid .label text{fill:#333}pre.mermaid .face{fill:#fff8dc;stroke:#999}pre.mermaid .node rect,pre.mermaid .node circle,pre.mermaid .node ellipse,pre.mermaid .node polygon,pre.mermaid .node path{fill:#ececff;stroke:#9370db;stroke-width:1px}pre.mermaid .node .label{text-align:center}pre.mermaid .node.clickable{cursor:pointer}pre.mermaid .arrowheadPath{fill:#333}pre.mermaid .edgePath .path{stroke:#333;stroke-width:1.5px}pre.mermaid .flowchart-link{stroke:#333;fill:none}pre.mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}pre.mermaid .edgeLabel rect{opacity:.5}pre.mermaid .cluster text{fill:#333}pre.mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family);font-size:12px;background:#f9ffec;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}pre.mermaid .task-type-0,pre.mermaid .section-type-0{fill:#ececff}pre.mermaid .task-type-1,pre.mermaid .section-type-1{fill:#ffffde}pre.mermaid .task-type-2,pre.mermaid .section-type-2{fill:#ffecfe}pre.mermaid .task-type-3,pre.mermaid .section-type-3{fill:#deffe0}pre.mermaid .task-type-4,pre.mermaid .section-type-4{fill:#ecfffe}pre.mermaid .task-type-5,pre.mermaid .section-type-5{fill:#ffdee0}pre.mermaid .task-type-6,pre.mermaid .section-type-6{fill:#ffefec}pre.mermaid .task-type-7,pre.mermaid .section-type-7{fill:#defbff}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid .mermaid-main-font{font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family)}pre.mermaid .exclude-range{fill:#eee}pre.mermaid .section{stroke:none;opacity:.2}pre.mermaid .section0{fill:rgba(102,102,255,.49)}pre.mermaid .section2{fill:#fff400}pre.mermaid .section1,pre.mermaid .section3{fill:#fff;opacity:.2}pre.mermaid .sectionTitle0,pre.mermaid .sectionTitle1,pre.mermaid .sectionTitle2,pre.mermaid .sectionTitle3{fill:#333}pre.mermaid .sectionTitle{text-anchor:start;font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family)}pre.mermaid .grid .tick{stroke:#d3d3d3;opacity:.8;shape-rendering:crispEdges}pre.mermaid .grid .tick text{font-family:"trebuchet ms",verdana,arial,sans-serif;fill:#333}pre.mermaid .grid path{stroke-width:0}pre.mermaid .today{fill:none;stroke:red;stroke-width:2px}pre.mermaid .task{stroke-width:2}pre.mermaid .taskText{text-anchor:middle;font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family)}pre.mermaid .taskTextOutsideRight{fill:#000;text-anchor:start;font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family)}pre.mermaid .taskTextOutsideLeft{fill:#000;text-anchor:end}pre.mermaid .task.clickable{cursor:pointer}pre.mermaid .taskText.clickable,pre.mermaid .taskTextOutsideLeft.clickable,pre.mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}pre.mermaid .taskText0,pre.mermaid .taskText1,pre.mermaid .taskText2,pre.mermaid .taskText3{fill:#fff}pre.mermaid .task0,pre.mermaid .task1,pre.mermaid .task2,pre.mermaid .task3{fill:#8a90dd;stroke:#534fbc}pre.mermaid .taskTextOutside0,pre.mermaid .taskTextOutside2,pre.mermaid .taskTextOutside1,pre.mermaid .taskTextOutside3{fill:#000}pre.mermaid .active0,pre.mermaid .active1,pre.mermaid .active2,pre.mermaid .active3{fill:#bfc7ff;stroke:#534fbc}pre.mermaid .activeText0,pre.mermaid .activeText1,pre.mermaid .activeText2,pre.mermaid .activeText3{fill:#000 !important}pre.mermaid .done0,pre.mermaid .done1,pre.mermaid .done2,pre.mermaid .done3{stroke:gray;fill:#d3d3d3;stroke-width:2}pre.mermaid .doneText0,pre.mermaid .doneText1,pre.mermaid .doneText2,pre.mermaid .doneText3{fill:#000 !important}pre.mermaid .crit0,pre.mermaid .crit1,pre.mermaid .crit2,pre.mermaid .crit3{stroke:#f88;fill:red;stroke-width:2}pre.mermaid .activeCrit0,pre.mermaid .activeCrit1,pre.mermaid .activeCrit2,pre.mermaid .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}pre.mermaid .doneCrit0,pre.mermaid .doneCrit1,pre.mermaid .doneCrit2,pre.mermaid .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}pre.mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}pre.mermaid .milestoneText{font-style:italic}pre.mermaid .doneCritText0,pre.mermaid .doneCritText1,pre.mermaid .doneCritText2,pre.mermaid .doneCritText3,pre.mermaid .activeCritText0,pre.mermaid .activeCritText1,pre.mermaid .activeCritText2,pre.mermaid .activeCritText3{fill:#000 !important}pre.mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;font-family:var(--mermaid-font-family)}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid .pieCircle{stroke:#000;stroke-width:2px;opacity:.7}pre.mermaid .pieOuterCircle{stroke:#000;stroke-width:2px;fill:none}pre.mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .slice{font-family:"trebuchet ms",verdana,arial,sans-serif;fill:#333;font-size:17px}pre.mermaid .legend text{fill:#000;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:17px}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}pre.mermaid .error-icon{fill:#522}pre.mermaid .error-text{fill:#522;stroke:#522}pre.mermaid .edge-thickness-normal{stroke-width:2px}pre.mermaid .edge-thickness-thick{stroke-width:3.5px}pre.mermaid .edge-pattern-solid{stroke-dasharray:0}pre.mermaid .edge-pattern-dashed{stroke-dasharray:3}pre.mermaid .edge-pattern-dotted{stroke-dasharray:2}pre.mermaid .marker{fill:#333;stroke:#333}pre.mermaid .marker.cross{stroke:#333}pre.mermaid svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px}pre.mermaid :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}.article{font-style:normal;font-size:18px;line-height:1.7;word-break:break-word;min-height:200px}.article h1,.article h2,.article h3,.article h4,.article h5{padding:0;margin:1.2em 0 .8em 0;position:relative;font-weight:600;line-height:1.5;outline:none;outline-color:currentcolor;outline-style:none;outline-width:medium}.article h1 .header-anchor,.article h2 .header-anchor,.article h3 .header-anchor,.article h4 .header-anchor,.article h5 .header-anchor{content:"#";font-size:.7em;text-decoration:none;width:.8em}.article h1,.article h2{font-size:2rem;font-weight:800}.article h3{font-size:1.8rem}.article h4{font-size:1.4rem}.article h5{font-size:1.2rem}.article h6{font-size:1rem}.article p{margin-bottom:1rem}.article p>code{border-radius:2px;padding:1px 4px}.article pre,.article code{font-family:"Inconsolata","Roboto Mono","Source Code Pro",Monaco,Menlo,Consolas,monospace}.article pre{border-radius:5px;width:100vw;transform:translateX(-50vw);margin-bottom:1rem;position:relative}.article pre::before{content:"";position:absolute;width:100vw;height:100%;transform:translateX(50vw)}.article pre.mermaid{transform:none;width:auto;color:inherit;display:flex;justify-content:center;align-items:center;padding:1rem 0}.article pre code{transform:translateX(50vw);padding-left:0 !important;position:relative;padding-top:1.4rem !important;display:block;overflow-x:auto;padding:1em;padding-top:1em;padding-left:1em}.article pre .hljs-tag,.article pre .hljs-tag-shadow{font-size:.7rem;display:block;position:absolute;transform:translateX(50vw);top:0;padding:0 4px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;font-family:"JetBrains Mono","Roboto Mono","Source Code Pro",Monaco,Menlo,Consolas,monospace}.article pre .hljs-tag-shadow{filter:blur(12px)}.article blockquote{margin:1.2rem 0;padding:1rem 1.5rem;position:relative;border-left:none !important;opacity:.8;border-radius:2px}.article blockquote:before{position:absolute;opacity:1;content:"";left:4px;top:4px;bottom:4px;width:2px;border-radius:1rem}.article blockquote p:last-child{margin-bottom:0}.article>img,.article>*>img,.article p>img,.article p>*>img,.article li>img{max-width:100%;display:block;margin:0 0 5px 0;border-radius:2px}.article code{font-size:16px;padding:2px 6px}.article ul,.article ol{padding:.4em 0 .4em 1.5em;list-style:none;padding:0;margin-bottom:1rem}.article ul>li,.article ol>li{position:relative;margin:.5rem 0}.article ul{padding-left:1.25rem}.article ul>li::before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background-color:rgba(0,0,0,.5);transition:background-color .5s;left:-1.25rem;top:.75rem}.article ol{counter-reset:li}.article ol>li{padding-left:1.5rem}.article ol>li::before{position:absolute;counter-increment:li;content:counter(li) ".";left:2px;top:1px;font-weight:700;font-size:1rem;opacity:.5;margin-top:1px}.article a{transition:all .3s ease;word-break:break-word}.article a>sup{padding:0 2px}.article a>*,.article a>code{background:rgba(0,0,0,0)}.article a>span>svg{display:none}.article hr{padding:0;border:none;text-align:center;margin:40px 0;font-size:12px;line-height:1.2;opacity:.6;position:relative;height:40px}.article hr:before{margin-top:10px;position:absolute;display:block;content:" ";width:100%;height:1px}.article hr:after{content:"§";display:inline-block;position:absolute;top:0px;left:50%;margin-left:-22px;font-size:2em;z-index:10;padding:0px .55em;margin-top:-0.2em}.article table{margin:14px 0;width:100%;border-spacing:0px;border-collapse:collapse !important;border-radius:6px;display:table}.article table td,.article table th{padding:8px 16px;word-break:normal;text-transform:capitalize}.article table thead{text-align:left}.article table thead th:first-child{border-top-left-radius:6px}.article table thead th:last-child{border-top-right-radius:6px}.article table tbody td{position:relative}.article .math.display mjx-container[jax=SVG]{overflow:auto;padding:1rem}.article .math.inline mjx-container[jax=SVG]{padding:.2rem 0;margin:0 -2px;border-radius:6px}.article .math.inline mjx-container[jax=SVG] svg{transform:scale(0.85)}.article .embeded-video-wrapper,.article .embeded-object-wrapper,.article .enclave-video-wrapper,.article .enclave-object-wrapper{width:100%;height:0;padding-bottom:56.25%;display:block}.article .embeded-video-wrapper.normal-wrapper,.article .embeded-object-wrapper.normal-wrapper,.article .enclave-video-wrapper.normal-wrapper,.article .enclave-object-wrapper.normal-wrapper{padding-bottom:0;height:auto}.article .embeded-video,.article .embeded-object,.article .enclave-video,.article .enclave-object{display:block;aspect-ratio:16/9;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:6px;overflow:hidden;box-shadow:0 0 0px 1px rgba(0,0,0,.2)}.article .embeded-video.error,.article .embeded-object.error,.article .enclave-video.error,.article .enclave-object.error{background-color:var(--vt-c-red-dimm-1);color:var(--vt-c-red-dark);border-color:var(--vt-c-red-dimm-2);border-width:1px;border-style:dashed;justify-content:center;display:flex;align-items:center;font-size:.8rem;box-shadow:none}.article .embeded-video.normal-object,.article .embeded-object.normal-object,.article .enclave-video.normal-object,.article .enclave-object.normal-object{aspect-ratio:auto;position:static}.article .embeded-video.no-border,.article .embeded-object.no-border,.article .enclave-video.no-border,.article .enclave-object.no-border{box-shadow:none;border:none}.article .embeded-video .tradingview-widget-copyright,.article .embeded-object .tradingview-widget-copyright,.article .enclave-video .tradingview-widget-copyright,.article .enclave-object .tradingview-widget-copyright{display:none}.article .custom-block{padding:1rem 1rem .8rem 1rem;border-radius:2px;font-size:.9rem;margin-bottom:1rem}.article .custom-block .custom-block-title{font-weight:bold;margin-bottom:.2rem;text-transform:uppercase}.article .custom-block>p{margin-bottom:.2rem}.article .quail-image-caption{font-size:.75rem;text-align:center}.dark .article{color:#dadada}.dark .article hr::before{border-top:1px solid #555}.dark .article hr::after{background:#000}.dark .article a{color:var(--vt-c-blue-lighter)}.dark .article ul>li::before{background-color:rgba(255,255,255,.45)}.dark .article blockquote{background:rgba(255,255,255,.1)}.dark .article blockquote:before{background:var(--vt-c-blue-lighter)}.dark .article pre{background-color:#282b2e}.dark .article pre.mermaid{background-color:#f2f2f2}.dark .article pre.mermaid::before{background:rgba(0,0,0,0)}.dark .article pre::before{background:#282b2e}.dark .article pre code{color:#e0e2e4;background:#282b2e}.dark .article pre .hljs-tag,.dark .article pre .hljs-tag-shadow{background-color:rgba(180,233,65,.1529411765);color:#b3e941}.dark .article pre .hljs-tag-shadow{background-color:rgba(180,233,65,.3725490196);color:#b3e941}.dark .article table th{border-left:1px solid rgba(255,255,255,.25);border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.dark .article table tr:first-child{border-top:1px solid rgba(255,255,255,.25)}.dark .article table tr:last-child{border-bottom:1px solid rgba(255,255,255,.25)}.dark .article table td{border-left:1px solid rgba(255,255,255,.25)}.dark .article table td:last-child{border-right:1px solid rgba(255,255,255,.25)}.dark .article p>code,.dark .article li>code{background:#383a42}.dark .article .custom-block{color:var(--vt-c-text-dark-2);background-color:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);box-shadow:none !important}.dark .article .custom-block .custom-block-title{font-weight:bold}.dark .article .custom-block.tip{color:var(--vt-c-green);background-color:var(--vt-c-green-dimm-2);border:1px solid var(--vt-c-green)}.dark .article .custom-block.warning{color:var(--vt-c-orange);background-color:var(--vt-c-orange-dimm-2);border:1px solid var(--vt-c-orange)}.dark .article .custom-block.danger{color:var(--vt-c-red-light);background-color:var(--vt-c-red-dimm-2);border:1px solid var(--vt-c-red-light)}.dark .article .quail-image-caption{color:var(--vt-c-text-dark-3)}.dark .article mjx-container[jax=SVG]:hover{color:var(--vt-c-blue-lighter)}.light .article hr::before{border-top:1px solid #ccc}.light .article hr::after{background:#fff}.light .article a{color:var(--vt-c-blue)}.light .article blockquote{background:rgba(0,0,0,.03)}.light .article blockquote:before{background:var(--vt-c-blue-light)}.light .article pre{background-color:#fafafa}.light .article pre.mermaid{background-color:#fafafa}.light .article pre.mermaid::before{background:rgba(0,0,0,0)}.light .article pre::before{background:#fafafa}.light .article pre code{color:#383a42;background:#fafafa}.light .article pre .hljs-tag,.light .article pre .hljs-tag-shadow{color:#8c4714;background-color:rgba(233,152,65,.15)}.light .article pre .hljs-tag-shadow{display:none}.light .article .hljs-tag,.light .article .hljs-tag-shadow{color:#658c14}.light .article table th{border-left:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}.light .article table tr:first-child{border-top:1px solid rgba(0,0,0,.08)}.light .article table tr:last-child{border-bottom:1px solid rgba(0,0,0,.08)}.light .article table td{border-left:1px solid rgba(0,0,0,.08)}.light .article table td:last-child{border-right:1px solid rgba(0,0,0,.08)}.light .article p>code,.light .article li>code{background:#f2f2f2}.light .article .custom-block{color:var(--vt-c-text-light-2);background-color:rgba(0,0,0,.05);box-shadow:0 2px 10px rgba(239,239,239,.8)}.light .article .custom-block .custom-block-title{font-weight:bold}.light .article .custom-block.tip{color:var(--vt-c-green-dark);background:#cfedbe;box-shadow:0 2px 10px rgba(187,232,160,.8)}.light .article .custom-block.warning{color:var(--vt-c-orange);background-color:#fff1cc;box-shadow:0 2px 10px rgba(255,241,204,.8)}.light .article .custom-block.danger{color:var(--vt-c-red);background:#fcc;box-shadow:0 2px 10px rgba(255,204,204,.8)}.light .article .quail-image-caption{color:var(--vt-c-text-light-3)}.light .article mjx-container[jax=SVG]:hover{color:var(--vt-c-blue)}@media only screen and (max-width: 760px){.article{font-size:16px}.embeded-video-wrapper.auto-resize,.embeded-object-wrapper.auto-resize,.enclave-video-wrapper.auto-resize,.enclave-object-wrapper.auto-resize{padding-bottom:100%}.embeded-video-wrapper .embeded-video,.embeded-video-wrapper .embeded-object,.embeded-video-wrapper .enclave-video,.embeded-video-wrapper .enclave-object,.embeded-object-wrapper .embeded-video,.embeded-object-wrapper .embeded-object,.embeded-object-wrapper .enclave-video,.embeded-object-wrapper .enclave-object,.enclave-video-wrapper .embeded-video,.enclave-video-wrapper .embeded-object,.enclave-video-wrapper .enclave-video,.enclave-video-wrapper .enclave-object,.enclave-object-wrapper .embeded-video,.enclave-object-wrapper .embeded-object,.enclave-object-wrapper .enclave-video,.enclave-object-wrapper .enclave-object{aspect-ratio:16/16}}html[lang=zh] .article p,html[lang=zh] .article ul,html[lang=zh] .article ol,html[lang=zh] .article blockquote{text-align:justify}.post-comments{background-color:rgba(255,255,255,.08);padding:2rem 0;min-height:320px;opacity:0}.post-comments.show{animation:fadeIn .5s;animation-fill-mode:forwards}.post-comments .post-comments-inner{margin:0 auto;max-width:720px}.post-comments .post-comments-title{font-size:1.2rem;font-weight:600;margin-bottom:1rem}.post-comments .post-comments-strategy{margin-bottom:2rem;padding:.5rem 0;text-align:center}.post-comments .comments-editor{width:100%;margin-bottom:2rem;padding:2px;position:relative;border-radius:8px}.post-comments .comments-editor.locked .comments-textarea,.post-comments .comments-editor.locked .comments-editor-ctrl{filter:blur(6px) grayscale(50%)}.post-comments .comments-editor.locked .comments-editor-mask{display:flex}.post-comments .comments-editor .comments-editor-mask{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;display:none}.post-comments .comments-editor .comments-textarea{box-shadow:none !important;border:none !important;width:100%;line-height:1.3;height:120px;padding:1rem}.post-comments .comments-editor .comments-editor-ctrl{padding:10px;width:100%;display:flex;justify-content:space-between}.post-comments .comments-editor .comments-editor-ctrl .comments-error{display:none;background:var(--vt-c-red-dimm-2);border:1px solid var(--vt-c-red-light);color:var(--vt-c-red-light);padding:.5rem;border-radius:3px;height:34px}.post-comments .comments-editor .comments-editor-ctrl .comments-error.show{display:block}.post-comments .comment{background-repeat:no-repeat;background-position:44px 2px;display:flex;margin-bottom:1.5rem}.post-comments .comment .comment-author-name{font-weight:bold;word-break:break-all}.post-comments .comment .comment-left{flex-basis:60px}.post-comments .comment .comment-left .comment-avatar{margin-top:15px;height:32px;width:32px;border-radius:99em;border:1px solid rgba(255,255,255,.15)}.post-comments .comment .comment-right{flex:1}.post-comments .comment .comment-right .comment-right-top{font-size:1rem;padding:1rem 0 .8rem .8rem;display:flex;justify-content:space-between;align-items:center}.post-comments .comment .comment-right .comment-content{padding:0 .8rem;margin-bottom:.4rem}.post-comments .loadmore-wrapper{display:none;text-align:center}.post-comments .loadmore-wrapper.show{display:block}.light .post-comments{color:var(--vt-c-text-light-1)}.light .post-comments .post-comments-strategy{color:var(--vt-c-text-light-3)}.light .post-comments .comments-editor{border:1px solid rgba(0,0,0,.15);background:#fff}.light .post-comments .comment{background-image:url("/assets/comment-frame-light.svg")}.light .post-comments .comment .comment-time{color:var(--vt-c-text-light-3)}.light .post-comments .comment .comment-content .--fe-text-parser-token-link{color:var(--vt-c-blue)}.dark .post-comments{color:var(--vt-c-text-dark-1)}.dark .post-comments .post-comments-strategy{color:var(--vt-c-text-dark-3)}.dark .post-comments .comments-editor{border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,0)}.dark .post-comments .comment{background-image:url("/assets/comment-frame-dark.svg")}.dark .post-comments .comment .comment-time{color:var(--vt-c-text-dark-3)}.dark .post-comments .comment .comment-content .--fe-text-parser-token-link{color:#b3e941}.dark .post-comments button.q-button.primary{z-index:2;color:#b3e941;font-weight:400;background:rgba(180,233,65,.3);box-shadow:none !important}.dark .post-comments button.q-button.primary[disabled]{background:rgba(180,233,65,.2) !important;box-shadow:none !important}.dark .post-comments button.q-button.plain{color:#b3e941;background:rgba(0,0,0,0)}.dark .post-comments button.q-button.danger{color:#f44336;background:rgba(0,0,0,0)}.dark .post-comments textarea,.dark .post-comments input{border:1px solid rgba(255,255,255,.2);color:#fff;background:rgba(0,0,0,0)}.dark .post-comments textarea:focus,.dark .post-comments input:focus{border-color:rgba(180,233,65,.2)}@media only screen and (max-width: 880px){.post-comments{padding:1rem}}.post-similar-section{padding:1rem 0}.post-similar-section .post-similar-section-inner{margin:0 auto;max-width:720px}.post-similar-section .post-similar-section-title{text-align:center;margin-bottom:2rem;font-weight:normal}.post-similar-section .post-similar-item{padding:.6rem;max-width:220px;border-radius:2px;transition:all .2s ease}.post-similar-section .post-similar-item:last-child{margin-bottom:0}.post-similar-section .post-similar-item:hover{box-shadow:0 2px 6px rgba(0,0,0,.08)}.post-similar-section .post-similar-item:hover .similar-item-inner .similar-item-cover-wrapper{box-shadow:0 0px 0px rgba(0,0,0,0)}.post-similar-section .post-similar-item:hover .similar-item-inner .similar-item-cover-wrapper::after{opacity:0;box-shadow:0 0px 0px rgba(0,0,0,0)}.post-similar-section .similar-item-inner{height:100%;display:block;position:relative}.post-similar-section .similar-item-inner .similar-item-cover-wrapper{width:100%;height:120px;display:block;border-radius:2px;position:relative;box-shadow:0 3px 10px rgba(0,0,0,.05);transition:box-shadow .2s ease}.post-similar-section .similar-item-inner .similar-item-cover-wrapper img{width:100%;height:100%;object-fit:cover;border-radius:2px;z-index:1;color:rgba(0,0,0,.3);text-align:center;font-size:.8rem}.post-similar-section .similar-item-inner .similar-item-cover-wrapper::after{transition:all .2s ease;display:block;content:" ";position:absolute;background:rgba(0,0,0,.1);width:80%;height:80%;bottom:0;filter:blur(10px);transform:translateY(2%);left:10%;box-shadow:0 2px 10px rgba(0,0,0,.1)}.post-similar-section .similar-item-inner .similar-item-content{padding-top:.6rem;display:flex;flex-direction:column}.post-similar-section .similar-item-inner .similar-item-title{font-size:1rem;font-weight:700;margin-bottom:.2rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.post-similar-section .similar-item-inner .similar-item-summary{font-size:.8rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin-bottom:.5rem}.light .post-similar-section .post-similar-section-title{color:var(--vt-c-text-light-2)}.light .post-similar-section .post-similar-item{background:#fff}.light .post-similar-section .post-similar-item:hover{background-color:rgba(235,241,247,.05)}.light .post-similar-section .similar-item-inner .similar-item-cover-wrapper{background-color:#eee}.light .post-similar-section .similar-item-inner .similar-item-title{color:var(--vt-c-text-light-2)}.light .post-similar-section .similar-item-inner .similar-item-summary{color:var(--vt-c-text-light-3)}.dark .post-similar-section .post-similar-section-title{color:var(--vt-c-text-dark-2)}.dark .post-similar-section .post-similar-item{border-width:1px;border-style:solid;border-color:var(--vt-c-divider-dark-3);border-radius:2px;background:#000}.dark .post-similar-section .post-similar-item:hover{background-color:rgba(255,255,255,.15)}.dark .post-similar-section .similar-item-inner .similar-item-cover-wrapper{background-color:#222}.dark .post-similar-section .similar-item-inner .similar-item-title{color:var(--vt-c-text-dark-2)}.dark .post-similar-section .similar-item-inner .similar-item-summary{color:var(--vt-c-text-dark-3)}@media only screen and (max-width: 720px){.post-similar-section{padding:1rem 1rem}.post-similar-section .post-similar-item{max-width:100%}}.post-page .post-header{color:#000;position:relative}.post-page .post-header .post-header-bg{padding:8px 8px 0 8px}.post-page .post-header .post-header-bg img{width:100%;height:100%;object-fit:cover;border:none;outline:none;color:rgba(0,0,0,0);border-radius:6px}.post-page .post-header .post-top{position:absolute;left:0;right:0}.post-page .post-header .post-top.fixed{position:fixed;z-index:10;border-bottom:none;animation:slide-down .3s ease-in-out}.post-page .post-header .post-top .post-top-inner{padding:1rem;margin:0 auto;display:flex;z-index:1;justify-content:space-between;align-self:center}.post-page .post-header .post-top .post-top-inner .post-back-btn .list-button-wrapper{border-radius:4px;height:32px;display:flex;flex-wrap:nowrap;flex:0}.post-page .post-header .post-top .post-top-inner .post-back-btn .list-button-avatar{height:32px;width:32px;border-radius:4px}.post-page .post-header .post-top .post-top-inner .post-back-btn .list-button-title{white-space:nowrap;padding:0 .5rem;display:flex;align-items:center}.post-page .post-header .post-header-content{position:static;bottom:0;left:0;right:0;padding-top:66px}.post-page .post-header .post-header-content .post-header-content-inner{margin:0 auto;max-width:760px;padding:1rem 1rem 0 1rem}.post-page .post-header .post-header-content .post-header-content-cover{margin-left:-4rem;margin-right:-4rem}.post-page .post-header .post-header-content .post-header-content-cover img{width:100%;object-fit:cover;border-radius:6px}.post-page .post-header .post-tags{display:flex;flex-wrap:wrap;justify-content:flex-end}.post-page .post-header .post-tags .post-tag{text-transform:capitalize;color:var(--vt-c-text-light-3)}.post-page .post-header .post-title{font-size:2.6rem;line-height:1.3 !important}.post-page .post-header .post-summary{line-height:1.5}.post-page .post-header .post-meta{margin-bottom:1.5rem}.post-page .post-header .post-meta .post-meta-author{flex:1;display:flex;align-items:center}.post-page .post-header .post-meta .post-meta-author .post-meta-author-avatar{min-width:38px}.post-page .post-header .post-meta .post-meta-author .post-meta-author-name{font-weight:600;color:var(--vt-c-text-light-1)}.post-page .post-header .post-meta .post-meta-author .post-meta-author-tagline{color:var(--vt-c-text-light-3);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.post-page .post-header .post-meta .post-operation-wrapper{display:flex;justify-content:flex-end}.post-page .post-header .post-meta .post-operation-wrapper .operation-button{border-radius:19px !important}.post-page .post-share-wrapper{display:flex;justify-content:flex-end;margin-right:-8px}.post-page .post-toc{display:none;position:fixed;top:277px;left:50%;transform:translateX(429px) translateY(12px);z-index:2;font-size:.8rem;transition:transform .2s ease-in-out,color .5s,background-color .5s}.post-page .post-toc.wo-indent{transform:translateX(429px) translateY(-212px)}.post-page .post-toc .post-toc-bar{padding:0;cursor:default}.post-page .post-toc .post-toc-title{height:46px;display:flex;align-items:center;font-weight:600;position:relative}.post-page .post-toc .post-toc-title .line{content:" ";position:absolute;height:1px;width:12px;left:1rem;border-radius:2px;transition:all .3s ease-in-out}.post-page .post-toc .post-toc-title .line-1{transform:translateY(-3px);transform-origin:center}.post-page .post-toc .post-toc-title .line-2{transform:translateY(0px);transform-origin:center}.post-page .post-toc .post-toc-title .line-3{transform:translateY(3px);transform-origin:center}.post-page .post-toc .post-toc-title span{margin-left:42px}.post-page .post-toc .post-toc-inner{padding-left:1rem;position:relative}.post-page .post-toc .post-toc-outline-marker{position:absolute;display:block;width:1px;height:24px;transform:translateX(-1px) translateY(-31px);transition:transform .2s ease-in-out;left:0}.post-page .post-toc ul{list-style:none;padding-left:0}.post-page .post-toc li{display:flex}.post-page .post-toc li.level-1{margin-left:0}.post-page .post-toc li.level-2{margin-left:1rem}.post-page .post-toc li.level-3{margin-left:2rem}.post-page .post-toc li.level-4{margin-left:3rem}.post-page .post-toc li.level-5{margin-left:4rem}.post-page .post-toc li.locked::after{content:"🔒";margin-left:.2rem}.post-page .post-toc a{display:block;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.post-page .post-content{font-size:1rem;padding:1rem 0;position:relative;transition:color .5s,background-color .5s}.post-page .post-content .post-content-inner,.post-page .post-content .post-content-ads{margin:0 auto;max-width:760px;padding:0 1rem}.post-page .post-content code{max-width:760px}.paid-notify-form{display:none;padding:2rem 0 0 0;position:relative;transform:translateY(-40px)}.paid-notify-form .paid-notify-form-mask{position:absolute;top:0;width:100%;height:80px;transform:translateY(-79px)}.paid-notify-form.show{display:block}.paid-notify-form .paid-notify-hint{font-size:1rem;text-align:center}.paid-notify-form .paid-notify-hint span{border-radius:2px;color:var(--vt-c-blue-light);font-weight:700}.paid-notify-form .form{text-align:center;margin:0 auto 2rem auto;max-width:760px;padding:1rem}.paid-notify-form .form h2{margin:0 auto .5rem auto;font-weight:700;font-size:1.4rem;text-transform:uppercase}.paid-notify-form .form .subtitle{font-size:1rem;justify-content:center;color:var(--vt-c-text-light-3);margin-bottom:2rem}.post-nsfw-warning{display:none;padding:1rem 0;position:relative;text-align:center}.post-nsfw-warning .post-nsfw-warning-inner{padding:1rem;border-radius:6px;margin:0 auto;max-width:720px}.post-nsfw-warning .post-nsfw-warning-inner .post-nsfw-warning-icon{font-size:64px;margin:0 auto}.post-navigation{margin:3rem 0}.post-navigation .post-navigation-inner{margin:0 auto;max-width:720px}.post-navigation .post-navigation-button{display:flex;align-items:center;border-width:1px;border-style:solid;padding:.6rem .8rem;border-radius:6px;transition:all .2s ease-in-out}.post-navigation .post-navigation-button .post-navigation-button-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.post-navigation .post-navigation-button.prev-post{justify-content:flex-end}.post-navigation .post-navigation-button.prev-post .post-navigation-button-content{align-items:flex-end;text-align:right}.post-navigation .post-navigation-button .post-navigation-icon{width:24px;min-width:24px;transition:transform .2s ease-in-out}.post-navigation .post-navigation-button .post-navigation-title{font-size:1rem;font-weight:bold;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.post-navigation .post-navigation-button .post-navigation-hint{font-size:.8rem}.post-navigation .post-navigation-button:hover.prev-post .post-navigation-icon,.post-navigation .post-navigation-button:hover.fixed-prev-post .post-navigation-icon{transform:translateX(0.3rem)}.post-navigation .post-navigation-button:hover.next-post .post-navigation-icon,.post-navigation .post-navigation-button:hover.fixed-next-post .post-navigation-icon{transform:translateX(-0.3rem)}.post-navigation .post-navigation-button.fixed{position:fixed;transform:translateY(-23px);z-index:2}.post-navigation .post-navigation-button.fixed.fixed-next-post{left:0;top:50%;border-top-right-radius:23px;border-top-left-radius:0px;border-bottom-right-radius:23px;border-bottom-left-radius:0;border-left:0px}.post-navigation .post-navigation-button.fixed.fixed-prev-post{right:0;top:50%;border-top-left-radius:23px;border-top-right-radius:0px;border-bottom-left-radius:23px;border-bottom-right-radius:0;border-right:0px}.light .post-page .post-header .post-top,.light .post-page .post-header .post-header-content{color:#000}.light .post-page .post-header .post-top{border-bottom:1px solid var(--vt-c-divider-light-2)}.light .post-page .post-header .post-top.fixed{backdrop-filter:blur(10px);background:linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(244, 244, 244, 0.6) 100%);box-shadow:0 0 1px rgba(0,0,0,.3);border-bottom:none}.light .post-page .post-header .post-summary{color:var(--vt-c-text-light-3)}.light .post-page .post-header .post-meta{color:var(--vt-c-text-light-3)}.light .post-page .post-header .post-meta .post-meta-author .post-meta-author-name{color:var(--vt-c-text-light-1)}.light .post-page .post-header .post-meta .post-meta-author .post-meta-author-tagline{color:var(--vt-c-text-light-3)}.light .post-page .post-header .post-meta .post-meta-author .post-meta-author-tagline a{color:var(--vt-c-blue)}.light .post-page .post-header .post-meta .post-operation-wrapper{color:var(--vt-c-text-light-3)}.light .post-page .post-header .post-datetime{color:var(--vt-c-text-light-2)}.light .post-page .post-header .post-tags .post-tag{color:var(--vt-c-text-light-3)}.light .post-page .post-header .post-back-btn .list-button-title{text-shadow:0 0 10px rgba(255,255,255,.3)}.light .post-page .post-content{color:#000;background:#fff}.light .post-toc{border-left:1px solid var(--vt-c-divider-light-3)}.light .post-toc .post-toc-outline-marker{background:var(--vt-c-black-soft)}.light .post-toc a{color:var(--vt-c-text-light-3)}.light .post-toc a:hover{color:var(--vt-c-text-light-2)}.light .post-toc a.active{color:var(--vt-c-text-light-1)}.light .post-toc .post-toc-title .line{background:var(--vt-c-white-mute)}.light .post-navigation{color:var(--vt-c-text-light-2)}.light .post-navigation .post-navigation-button{border-color:var(--vt-c-divider-light-2)}.light .post-navigation .post-navigation-button:hover{background-color:rgba(235,241,247,.25)}.light .post-navigation .post-navigation-hint{color:var(--vt-c-text-light-3)}.light .post-navigation .post-navigation-icon{color:var(--vt-c-blue)}.light .post-nsfw-warning .post-nsfw-warning-inner{background:rgba(0,0,0,.04)}.light .post-nsfw-warning .post-nsfw-warning-inner .hint{color:var(--vt-c-text-light-3)}.light .paid-notify-form{background:#fff}.light .paid-notify-form .paid-notify-form-mask{background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(210, 218, 218, 0.4117647059) 100%)}.dark .post-page .post-header .post-top,.dark .post-page .post-header .post-header-content{color:#fff}.dark .post-page .post-header .post-top{border-bottom:1px solid var(--vt-c-divider-dark-3)}.dark .post-page .post-header .post-top.fixed{backdrop-filter:blur(10px);background:linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 100%);box-shadow:0 0 1px rgba(0,0,0,.3)}.dark .post-page .post-header .post-summary{color:var(--vt-c-text-dark-3)}.dark .post-page .post-header .post-meta .post-meta-author .post-meta-author-avatar{border-color:#262b33;box-shadow:0 0 1px #423c3b,0 1px 2px #000}.dark .post-page .post-header .post-meta .post-meta-author .post-meta-author-name{color:var(--vt-c-text-dark-1)}.dark .post-page .post-header .post-meta .post-meta-author .post-meta-author-tagline{color:var(--vt-c-text-dark-3)}.dark .post-page .post-header .post-meta .post-meta-author .post-meta-author-tagline a{color:var(--vt-c-blue-light)}.dark .post-page .post-header .post-meta .post-operation-wrapper{color:var(--vt-c-text-dark-3)}.dark .post-page .post-header .post-meta .post-operation-wrapper .operation-button{color:var(--vt-c-text-dark-2) !important;border:1px solid var(--vt-c-divider-dark-1) !important;box-shadow:none !important;background:rgba(255,255,255,.08) !important;transition:background .2s ease-in-out}.dark .post-page .post-header .post-meta .post-operation-wrapper .operation-button:hover{background:rgba(255,255,255,.15) !important}.dark .post-page .post-header .post-datetime{color:var(--vt-c-text-dark-2)}.dark .post-page .post-header .post-tags .post-tag{color:var(--vt-c-text-dark-3)}.dark .post-page .post-header .post-back-btn .list-button-title{opacity:.8;text-shadow:0 0 10px rgba(255,255,255,.5)}.dark .post-page .post-content{color:#e4e4e4;background:#000}.dark .post-nsfw-warning .post-nsfw-warning-inner{background:rgba(255,255,255,.1)}.dark .post-nsfw-warning .post-nsfw-warning-inner .hint{color:var(--vt-c-text-dark-3)}.dark .paid-notify-form{color:#fff;background:#000}.dark .post-toc{border-left:1px solid var(--vt-c-divider-dark-3)}.dark .post-toc .post-toc-outline-marker{background:var(--vt-c-black-mute)}.dark .post-toc a{color:var(--vt-c-text-dark-3)}.dark .post-toc a:hover{color:var(--vt-c-text-dark-2)}.dark .post-toc a.active{color:var(--vt-c-text-dark-1)}.dark .post-toc .post-toc-title .line{background:var(--vt-c-black-mute)}.dark .post-navigation{color:var(--vt-c-text-dark-2)}.dark .post-navigation .post-navigation-button{background-color:rgba(255,255,255,.1);border-color:var(--vt-c-divider-dark-2)}.dark .post-navigation .post-navigation-button:hover{background-color:rgba(255,255,255,.15)}.dark .post-navigation .post-navigation-hint{color:var(--vt-c-text-dark-3)}.dark .post-navigation .post-navigation-icon{color:var(--vt-c-blue-light)}.dark .paid-notify-form{background:#000}.dark .paid-notify-form .paid-notify-form-mask{background:linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(38, 61, 77, 0.4) 100%)}@media only screen and (max-width: 880px){.post-page .post-header .post-title{font-size:1.8rem}.post-page .post-header .post-meta{margin-bottom:1rem}.post-page .post-toc{display:none;top:auto;left:auto}.post-navigation{padding:1rem}.post-navigation .post-navigation-button.fixed{display:none}.post-nsfw-warning{padding:1rem}}@media only screen and (max-width: 1200px){.post-page .post-content.with-toc .post-toc{max-width:760px;left:50%;width:100%;border-left:0;transform:translateY(0px) translateX(-50%);left:50%;width:100%}.post-page .post-content.with-toc .post-content-inner{padding-top:4rem}.post-page .post-toc{display:none;top:auto;left:auto;height:48px;transform:translateY(-22px);overflow:hidden;padding:0 1rem;position:absolute}.post-page .post-toc.fixed{position:fixed;top:0px;width:100vw;left:0;padding:0;transform:translateY(0px) translateX(-50%) !important}.post-page .post-toc.fixed .post-toc-bar{padding:0}.post-page .post-toc.fixed .post-toc-inner{margin:1rem !important}.post-page .post-toc.expanded{display:block;height:auto;overflow:inherit}.post-page .post-toc.expanded .post-toc-inner{padding:1rem;box-shadow:0 0 10px rgba(0,0,0,.2);margin-top:.5rem;border-radius:6px}.post-page .post-toc.expanded .post-toc-items a{padding:.2rem 0}.post-page .post-toc .post-toc-outline-marker{display:none}.post-page .post-toc .post-toc-bar{padding:0 0;border-radius:2px;border-width:1px;border-style:solid}.light .post-toc{background-color:#fff}.light .post-toc.fixed .post-toc-bar{border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--vt-c-divider-light-3) rgba(0,0,0,0)}.light .post-toc .post-toc-bar{border-color:var(--vt-c-divider-light-3)}.dark .post-toc{background-color:#000}.dark .post-toc.fixed .post-toc-bar{border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--vt-c-divider-dark-3) rgba(0,0,0,0)}.dark .post-toc .post-toc-bar{border-color:var(--vt-c-divider-dark-3)}}@keyframes slide-down{0%{transform:translateY(-100%)}100%{transform:translateY(0)}}