@charset "UTF-8";html[data-theme=dark]{--text-color: #c5d0dc;--bg-color: #03070c;--bg-color-secondary: #060c13;--bg-color-tertiary: #0c1520;--border-color: #13202d;--box-shadow: #050b12;--card-shadow: rgba(0, 0, 0, .55);--black: #fff;--grey-dark: #94a3b4;--grey-light: #666;--white: #000;--grey-darker: #bbb;--grey-lighter: #333;--grey14: #111;--code-color: #d0dbe6;--code-bg-color: #050b12;--bg-color-light: #060c13;--bg-color-back: #03070c;--bg-color-float: #060c13;--bg-color-blur: rgba(3, 7, 12, .9);--bg-color-float-blur: rgba(6, 12, 19, .9);--text-color-light: #cbd5e0;--text-color-lighter: #d1d9e3;--text-color-bright: #dce3ea;--border-color-light: #121e2b;--border-color-dark: #1a2b3d}:root{--theme-color: #1fc8ff;--text-color: #1c2530;--bg-color: #fff;--bg-color-secondary: #f4f8fb;--bg-color-tertiary: #ebf2f7;--border-color: #e1e9f0;--box-shadow: #edf2f6;--card-shadow: rgba(10, 30, 50, .1);--code-highlight-error-bg-color: rgba(244, 63, 94, .16);--code-highlight-warning-bg-color: rgba(255, 193, 7, .16);--code-line-diff-add-color: rgba(16, 185, 129, .16);--code-line-diff-add-symbol-color: #298459;--code-line-diff-remove-color: rgba(244, 63, 94, .16);--code-line-diff-remove-symbol-color: #e0575b;--black: #000;--grey-dark: #56667a;--grey-light: #999;--white: #fff;--grey-darker: #333;--grey-lighter: #bbb;--grey14: #eee;--navbar-height: 4rem;--navbar-horizontal-padding: 2rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 15rem;--sidebar-mobile-width: 15rem;--content-width: 780px;--home-page-width: 1200px;--font-family: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Text", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-heading: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Display", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--code-line-number-width: 2rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--code-color: #36404c;--code-bg-color: #f2f6f9;--bg-color-light: #fff;--bg-color-back: #f4f8fb;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #2c3a4b;--text-color-lighter: #3c4f67;--text-color-bright: #5c7a9e;--border-color-light: #e4ebf2;--border-color-dark: #c2d2e1;--theme-color-dark: #02c1ff;--theme-color-light: #35ceff;--theme-color-mask: rgba(31, 200, 255, .15)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}.vp-card{display:inline-flex;align-items:center;max-width:400px;margin:1rem .5rem;padding:1rem;border-radius:.5rem;background:var(--vp-bg);color:inherit;box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct),box-shadow var(--vp-ct)}.vp-card:hover{background:var(--vp-bgl);text-decoration:none!important}.vp-card hr{margin:.25em 0}.vp-card-logo{width:3em;height:3em;margin-inline-end:1em;border-radius:50%}.vp-card-content{flex:1}.vp-card-title{font-weight:500;font-size:1.1em}.vp-card-desc{color:#888;font-size:.9em;line-height:1.5;transition:color var(--vp-ct)}.vp-card-container{display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center}.vp-card-container .vp-card{flex-basis:calc(50% - 3rem);max-width:unset;margin:.5rem}@media (max-width: 959px){.vp-card-container .vp-card{flex-basis:100%}}@media (max-width: 719px){.vp-card-container .vp-card{font-size:.95rem}}@media (max-width: 419px){.vp-card-container .vp-card{font-size:.9rem}}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-catalogs{padding-inline-start:0}.vp-catalog-wrapper.index .vp-catalog{list-style-type:none}.vp-catalog-wrapper.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;counter-reset:catalog-item}.vp-catalogs.deep{padding-inline-start:0}.vp-catalogs.deep .vp-catalog{list-style-type:none}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--catalog-border-color);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-active-color)}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--catalog-bg-secondary-color);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-hover-color);color:var(--catalog-bg-color);text-decoration:none!important}.vp-catalog-header-anchor{font-size:.85em;float:left;margin-left:-1em;padding-right:0;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;content:"¶"}@media print{.vp-catalog-header-anchor{display:none}}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{opacity:1;text-decoration:none}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-bg-color: #fff;--catalog-bg-secondary-color: #f8f8f8;--catalog-border-color: #e5e5e5;--catalog-active-color: #3eaf7c;--catalog-hover-color: #71cda3}.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:48px;height:48px;padding:12px;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-icon-color);-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='4'%20d='M24.008%2014.1V42M12%2026l12-12l12%2012M12%206h24'%20/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-icon-color: currentColor;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2' /%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4' /%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied:before{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-code-button:before{content:"";width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}.copy-code-disabled .vp-copy-code-button{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover:before{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover .vp-copy-code-button{opacity:1}.theme-hope-content figure{position:relative;display:flex;flex-direction:column;width:auto;margin:1rem auto;text-align:center;transition:transform var(--vp-tt)}.theme-hope-content figure>a[href*="://"]:after,.theme-hope-content figure>a[target=_blank]:after{display:none!important}.theme-hope-content figure img{overflow:hidden;margin:0 auto;border-radius:8px}.theme-hope-content figure img[tabindex]:hover,.theme-hope-content figure img[tabindex]:focus{box-shadow:2px 2px 10px 0 var(--card-shadow)}.theme-hope-content figure figcaption{display:inline-block;margin:6px auto;font-size:.8rem}:root{--important-title-color: #230555;--important-bg-color: #f4eefe;--important-border-color: #a371f7;--important-code-bg-color: rgb(163 113 247 / 10%);--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--caution-title-color: #4b1113;--caution-bg-color: #ffebec;--caution-border-color: #e13238;--caution-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--important-title-color: #f4eefe;--important-bg-color: #230555;--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--caution-title-color: #ffebec;--caution-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-tc)}.hint-container.important{border-color:var(--important-border-color);background:var(--important-bg-color)}.hint-container.important>.hint-container-title{color:var(--important-title-color)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.important code{background:var(--important-code-bg-color)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.caution{border-color:var(--caution-border-color);background:var(--caution-bg-color)}.hint-container.caution>.hint-container-title{color:var(--caution-title-color)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.caution code{background:var(--caution-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}.mermaid-preview .node rect,.mermaid-preview .clusters rect,.mermaid-preview rect.note,.mermaid-preview .actor,.mermaid-wrapper .node rect,.mermaid-wrapper .clusters rect,.mermaid-wrapper rect.note,.mermaid-wrapper .actor{rx:8;ry:8}.mermaid-wrapper{position:relative;overflow-x:auto;padding:.6em .4em;text-align:center;transition:all 1s}@media (max-width: 419px){.mermaid-wrapper{margin:0 -1.5rem;padding:.6em 0}}.mermaid-loading{color:var(--vp-tc)}@media print{.mermaid-content{page-break-inside:avoid}}.mermaid-actions{text-align:end}@media print{.mermaid-actions{display:none}}.mermaid-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:flex;align-items:center;justify-content:center;background-color:#fffc}html[data-theme=dark] .mermaid-preview{background-color:#000c}.mermaid-preview svg{max-width:100%;max-height:100%}.preview-button,.download-button{border-width:0;background:transparent;cursor:pointer;width:2rem;height:2rem;padding:.25rem;color:var(--grey-dark)}@media (max-width: 719px){.preview-button,.download-button{width:1.5rem;height:1.5rem}}.preview-button:hover,.download-button:hover{color:var(--vp-tc)}.preview-button svg,.download-button svg{width:100%;height:100%}:root{--tab-bg-color: var(--vp-bg);--tab-nav-text-color: var(--vp-c);--tab-nav-bg-color: #e0e0e0;--tab-nav-hover-color: #eee}html[data-theme=dark]{--tab-nav-bg-color: #34343f;--tab-nav-hover-color: #2d2d38}.vp-tabs{margin:1.5rem 0;border:2px solid var(--vp-brc);border-radius:8px}@media (max-width: 419px){.theme-hope-content>.vp-tabs{margin-inline:-1.5rem;border-radius:0}}.vp-tabs-nav{overflow-x:auto;margin:0;padding:0;border-radius:8px 8px 0 0;background:var(--tab-nav-bg-color);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-tabs-nav{display:none}}@media (max-width: 419px){.vp-tabs-nav{border-radius:0}}.vp-tab-nav{border-width:0;position:relative;min-width:4rem;margin:0;padding:.5em 1em;border-radius:8px 8px 0 0;background:transparent;color:var(--tab-nav-text-color);font-weight:600;font-size:.875em;line-height:1.75;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-tab-nav:hover{background:var(--tab-nav-hover-color)}.vp-tab-nav:before,.vp-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:8px;height:8px}.vp-tab-nav:before{right:100%}.vp-tab-nav:after{left:100%}.vp-tab-nav.active{background:var(--tab-bg-color)}.vp-tab-nav.active:before{background:radial-gradient(16px at left top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav.active:after{background:radial-gradient(16px at right top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav:first-child:before{display:none}.vp-tab{display:none;padding:1rem .75rem;background:var(--tab-bg-color);transition:background var(--vp-ct)}@media print{.vp-tab{display:block;padding:.5rem}}.vp-tab.active{display:block}.vp-tab:nth-child(n+2) .vp-tab-title{border-top:none}.vp-tab-title{display:none;padding:.25rem 0;border-top:1px solid var(--vp-brc);font-weight:500}@media print{.vp-tab-title{display:block}}.task-list-container{padding-inline-start:0;list-style-position:inside}.task-list-container .task-list-container{padding-inline-start:1.5em}.task-list-item{list-style:none}.task-list-item-checkbox{position:relative;cursor:pointer}.task-list-item-checkbox:after{content:" ";position:absolute;top:0;display:inline-block;box-sizing:border-box;width:1em;height:1em;padding-inline-start:0;border:1px solid #ddd;border-radius:2px;background:#fff;text-align:center;visibility:visible;transition:background var(--vp-ct),border-color var(--vp-ct)}@media print{.task-list-item-checkbox:after{border-color:var(--vp-c)}}html[data-theme=dark] .task-list-item-checkbox:after{border-color:#666;background:#333}.task-list-item-checkbox:checked:after{content:"";border-color:var(--vp-tc);background:var(--vp-tc)}@media print{.task-list-item-checkbox:checked:after{border-color:var(--vp-c);background:transparent}}html[data-theme=dark] .task-list-item-checkbox:checked:after{border-color:var(--vp-tc);background:var(--vp-tc)}.task-list-item-checkbox:checked:before{content:"";position:absolute;top:.1em;inset-inline-start:.4em;z-index:1;width:.2em;height:.5em;border:solid var(--white);border-width:0 .15em .15em 0;transform:rotate(45deg)}@media print{.task-list-item-checkbox:checked:before{border-color:var(--vp-c)}}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:var(--photo-swipe-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-bullet-active)}:root{--photo-swipe-bullet: #fff;--photo-swipe-bullet-active: #3eaf7c}.search-pro-button{border-width:0;background:transparent;display:inline-flex;align-items:center;box-sizing:content-box;height:1.25rem;margin-inline:1rem 0;margin-top:0;margin-bottom:0;padding:.5rem;border:0;border:1px solid var(--vp-bgl);border-radius:1rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:500;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}@media print{.search-pro-button{display:none}}@media (max-width: 959px){.search-pro-button{border-radius:50%}}.search-pro-button:hover{border:1px solid var(--vp-tc);background-color:var(--vp-bglt);color:var(--vp-clt)}.search-pro-button .search-icon{width:1.25rem;height:1.25rem}.search-pro-placeholder{margin-inline:.25rem;font-size:1rem}@media (max-width: 959px){.search-pro-placeholder{display:none}}.search-pro-key-hints{font-size:.75rem}@media (max-width: 959px){.search-pro-key-hints{display:none}}.search-pro-key{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25rem;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);line-height:1;letter-spacing:-.1em;transition:background var(--vp-ct),color var(--vp-ct),border var(--vp-ct) box-shadow var(--vp-ct)}@keyframes search-pro-fade-in{0%{opacity:.2}to{opacity:1}}.search-pro-modal-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:997;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:default}.search-pro-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;animation:.25s search-pro-fade-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-pro-modal{position:absolute;z-index:999;display:flex;flex-direction:column;width:calc(100% - 6rem);max-width:50em;border-radius:10px;background:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct);animation:.15s pwa-opened}@media (max-width: 1280px){.search-pro-modal{animation:.25s pwa-mobile}}@media (max-width: 719px){.search-pro-modal{top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;max-width:unset;padding:env(--safe-area-inset-top) env(--safe-area-inset-right) env(--safe-area-inset-bottom) env(--safe-area-inset-left)}}.search-pro-box{display:flex;margin:1rem}.search-pro-box form{position:relative;display:flex;flex:1}.search-pro-box label{position:absolute;top:calc(50% - .75rem);inset-inline-start:.5rem;color:var(--vp-tc)}.search-pro-box label .search-icon{width:1.5rem;height:1.5rem}.search-pro-clear-button{border-width:0;background:transparent;cursor:pointer;position:absolute;top:calc(50% - 10px);inset-inline-end:.75rem;padding:0;color:var(--vp-tc)}.search-pro-clear-button:hover{border-radius:50%;background-color:#0000001a}.search-pro-close-button{border-width:0;background:transparent;cursor:pointer;display:none;margin-inline:.5rem -.5rem;padding:.5rem;color:var(--grey-darker);font-size:1rem}@media (max-width: 719px){.search-pro-close-button{display:block}}.search-pro-input{flex:1;width:0;margin:0;padding-block:.25rem;padding-inline:2.5rem 2rem;border:0;border:2px solid var(--vp-tc);border-radius:8px;background:var(--vp-bg);color:var(--vp-c);outline:none;font-size:1.25rem;line-height:2.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-pro-input::-webkit-search-cancel-button{display:none}.search-pro-suggestions{position:absolute;inset:calc(100% + 4px) 0 auto;z-index:20;overflow:visible;overflow-y:auto;max-height:50vh;margin:0;padding:0;border-radius:.5rem;background-color:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);list-style:none;line-height:1.5}.search-pro-suggestion{padding:.25rem 1rem;border-top:1px solid var(--vp-brc);cursor:pointer}.search-pro-suggestion:first-child{border-top:none}.search-pro-suggestion.active,.search-pro-suggestion:hover{background-color:var(--vp-bglt)}.search-pro-auto-complete{display:none;float:right;margin:0 .5rem;padding:4px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);font-size:12px;line-height:1}.search-pro-suggestion.active .search-pro-auto-complete{display:block}.search-pro-result-wrapper{flex-grow:1;overflow-y:auto;min-height:40vh;max-height:calc(80vh - 10rem);padding:0 1rem}@media (max-width: 719px){.search-pro-result-wrapper{min-height:unset;max-height:unset}}.search-pro-result-wrapper.loading,.search-pro-result-wrapper.empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;font-weight:600;font-size:22px;text-align:center}.search-pro-hints{margin-top:1rem;padding:.75rem .5rem;box-shadow:0 -1px 4px 0 var(--card-shadow);line-height:1}.search-pro-hint{display:inline-flex;align-items:center;margin:0 .5rem}.search-pro-hint kbd{margin:0 .5rem;padding:2px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow)}.search-pro-hint kbd+kbd{margin-inline-start:-.25rem}.search-pro-hint svg{display:block;width:15px;height:15px}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--grey-dark);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-dropdown-wrapper{cursor:pointer}.vp-dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.vp-dropdown-wrapper .auto-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--grey-dark);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.vp-dropdown-wrapper .auto-link:hover,.vp-dropdown-wrapper .auto-link.active{color:var(--theme-color)}.vp-dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--grey-dark);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.vp-dropdown-title:hover{border-color:transparent}.vp-dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.vp-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .vp-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-dropdown-title .arrow.down{transform:rotate(-180deg)}.vp-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-dropdown-title .arrow.end,.vp-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-dropdown-title .arrow.start{transform:rotate(90deg)}.vp-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);list-style-type:none;text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.vp-dropdown-wrapper:hover .vp-dropdown,.vp-dropdown-wrapper.open .vp-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.vp-dropdown-item{color:inherit;line-height:1.7rem}.vp-dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.vp-dropdown-item:first-child .vp-dropdown-subtitle{padding-top:0}.vp-dropdown-subitems{margin:0;padding:0 0 .25rem;list-style-type:none}.vp-dropdown-item:last-child .vp-dropdown-subitems{padding-bottom:0}.vp-nav-screen-menu-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--grey-dark);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.vp-nav-screen-menu-title:hover,.vp-nav-screen-menu-title.active{color:var(--text-color)}.vp-nav-screen-menu-title .text{flex:1}.vp-nav-screen-menu-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-nav-screen-menu-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-nav-screen-menu-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-nav-screen-menu-title .arrow.down{transform:rotate(-180deg)}.vp-nav-screen-menu-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-nav-screen-menu-title .arrow.end,.vp-nav-screen-menu-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-nav-screen-menu-title .arrow.start{transform:rotate(90deg)}.vp-nav-screen-menu{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.vp-nav-screen-menu.hide{height:0;margin:0;transform:scaleY(0)}.vp-nav-screen-menu .auto-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.vp-nav-screen-menu .auto-link:hover,.vp-nav-screen-menu .auto-link.active{color:var(--theme-color)}.vp-nav-screen-menu .auto-link .icon{font-size:1em}.vp-nav-screen-menu-item{color:inherit;line-height:1.7rem}.vp-nav-screen-menu-subtitle{margin:0;padding-inline-start:.25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.vp-nav-screen-menu-subtitle .auto-link{padding:0}.vp-nav-screen-menu-subitems{margin:0;padding:0;list-style:none}.vp-nav-screen-menu-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem}.nav-screen-links .auto-link{display:inline-block;width:100%;color:var(--grey-dark);font-weight:400}.nav-screen-links .auto-link:hover{color:var(--text-color)}.nav-screen-links .auto-link.active{color:var(--theme-color)}.vp-color-mode-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--grey-dark);cursor:pointer;transition:color var(--color-transition)}.vp-color-mode-switch:hover{color:var(--theme-color)}.vp-color-mode-switch .icon{width:1.25rem;height:1.25rem}.vp-color-mode-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}.vp-theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}.vp-theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}.vp-theme-color-picker li span.theme-color,.vp-theme-color-picker li span.theme-color html[data-theme=dark]{background:#1fc8ff}.vp-theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--grey-dark);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--grey-dark)}.vp-nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color)}@media (max-width: 719px){.vp-nav-screen{display:block}}.vp-nav-screen.fade-enter-active,.vp-nav-screen.fade-leave-active{transition:opacity .25s}.vp-nav-screen.fade-enter-active .vp-nav-screen-container,.vp-nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}.vp-nav-screen.fade-enter-from,.vp-nav-screen.fade-leave-to{opacity:0}.vp-nav-screen.fade-enter-from .vp-nav-screen-container,.vp-nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}.vp-nav-screen .icon{margin-inline-end:.25em;font-size:1em}.vp-nav-screen img.icon{vertical-align:-.125em;height:1em}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-nav-item:first-child{margin-inline-start:0}.vp-nav-item:last-child{margin-inline-end:0}.vp-nav-item>.auto-link{color:var(--grey-dark)}.vp-nav-item>.auto-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-nav-item>.auto-link.active{color:var(--theme-color)}.vp-nav-item>.auto-link:hover:after,.vp-nav-item>.auto-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar .vp-action{margin:0!important}.vp-navbar .vp-action-link{display:inline-block;margin:auto;padding:6px;color:var(--grey-dark);line-height:1}.vp-navbar .vp-action-link:hover,.vp-navbar .vp-action-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--grey-dark);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--grey-dark);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.vp-outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--grey-dark)}.vp-outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.vp-outlook-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.vp-outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.vp-outlook-button:hover .vp-outlook-dropdown,.vp-outlook-button.open .vp-outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .auto-link{padding:0 .25rem;color:var(--grey-dark)}.vp-navbar .auto-link.active{color:var(--theme-color)}.vp-navbar .auto-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .auto-link img.icon{vertical-align:-.125em;height:1em}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{font-size:1em}.vp-sidebar-header{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;text-align:start;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-header.open{color:inherit}.vp-sidebar-header.clickable{border-width:0;background:transparent;cursor:pointer;font-family:inherit}.vp-sidebar-header.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-header .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-header .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}.vp-sidebar-links{margin:0 0 0 .75em;padding:0}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{margin:0;padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000026}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}@media print{.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.iot-backdrop[data-v-0a8b751b]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.iot-backdrop__glow[data-v-0a8b751b]{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;animation:iot-drift-0a8b751b 18s ease-in-out infinite alternate}.iot-backdrop__glow--a[data-v-0a8b751b]{top:-18%;left:8%;width:46vw;height:46vw;max-width:720px;max-height:720px;background:radial-gradient(circle,rgba(20,160,255,.62),transparent 65%)}.iot-backdrop__glow--b[data-v-0a8b751b]{top:8%;right:-6%;width:40vw;height:40vw;max-width:640px;max-height:640px;background:radial-gradient(circle,rgba(30,220,170,.45),transparent 65%);animation-delay:-9s}.iot-backdrop__grid[data-v-0a8b751b]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(120,200,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(120,200,255,.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 35%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 75% 65% at 50% 35%,#000 30%,transparent 75%)}.iot-backdrop__canvas[data-v-0a8b751b]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 35%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 35%,transparent 80%)}.iot-backdrop__fade[data-v-0a8b751b]{position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(to bottom,transparent,var(--bg-color))}@keyframes iot-drift-0a8b751b{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(4%,6%,0) scale(1.12)}}@media (prefers-reduced-motion: reduce){.iot-backdrop__glow[data-v-0a8b751b]{animation:none}}.iot-home[data-v-1e196baa]{display:block;flex:1;padding-top:var(--navbar-height)}.iot-hero[data-v-1e196baa]{position:relative;margin-top:calc(var(--navbar-height) * -1);padding:calc(var(--navbar-height) + 5.5rem) 2rem 5rem;overflow:hidden}@media (max-width: 959px){.iot-hero[data-v-1e196baa]{padding:calc(var(--navbar-height) + 3rem) 1.25rem 3rem}}.iot-hero__inner[data-v-1e196baa]{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:3.5rem;align-items:center;max-width:var(--home-page-width);margin:0 auto}@media (max-width: 959px){.iot-hero__inner[data-v-1e196baa]{grid-template-columns:minmax(0,1fr);gap:2.5rem}}.iot-hero__copy[data-v-1e196baa]>*{animation:iot-rise-1e196baa .7s cubic-bezier(.2,.7,.2,1) both}.iot-hero__copy[data-v-1e196baa]>:nth-child(2){animation-delay:.06s}.iot-hero__copy[data-v-1e196baa]>:nth-child(3){animation-delay:.12s}.iot-hero__copy[data-v-1e196baa]>:nth-child(4){animation-delay:.18s}.iot-hero__badge[data-v-1e196baa]{display:inline-flex;gap:.6rem;align-items:center;padding:.3rem .85rem .3rem .35rem;border:1px solid rgba(60,200,255,.28);border-radius:999px;background:#081c2a99;color:#c6efff;font-family:var(--font-family-mono);font-size:.8rem;letter-spacing:.02em;text-decoration:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s,background .2s}.iot-hero__badge[data-v-1e196baa]:hover{border-color:#3cc8ff99;background:#0c2c4299}.iot-hero__badge-tag[data-v-1e196baa]{padding:.1rem .5rem;border-radius:999px;background:linear-gradient(100deg,#1fc8ff,#2ee6b4);color:#03121c;font-size:.68rem;font-weight:700}.iot-hero__badge-arrow[data-v-1e196baa]{color:#3fcfff;transition:transform .2s}.iot-hero__badge:hover .iot-hero__badge-arrow[data-v-1e196baa]{transform:translate(3px)}.iot-hero__title[data-v-1e196baa]{display:flex;flex-wrap:wrap;gap:0 .35em;margin:1.5rem 0 1.25rem;color:#f2f8fc;font-size:clamp(2.6rem,5.2vw,4.4rem);font-weight:800;line-height:1.08;letter-spacing:-.03em}.iot-hero__tagline[data-v-1e196baa]{max-width:34rem;margin:0;color:#94a3b4;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.7}.iot-hero__actions[data-v-1e196baa]{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.25rem}.iot-hero__visual[data-v-1e196baa]{position:relative;animation:iot-rise-1e196baa .9s .15s cubic-bezier(.2,.7,.2,1) both}.iot-hero__visual[data-v-1e196baa]:before{content:"";position:absolute;top:8%;right:6%;bottom:8%;left:6%;border-radius:2rem;background:linear-gradient(135deg,#1fc8ff80,#2ee6b457);filter:blur(60px);opacity:.5}.iot-console[data-v-1e196baa]{position:relative;border:1px solid rgba(120,200,255,.16);border-radius:16px;background:linear-gradient(180deg,#09141eeb,#040a10f5);box-shadow:0 0 0 1px #0006,0 30px 80px -20px #000c,inset 0 1px #ffffff0f;overflow:hidden;font-family:var(--font-family-mono);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.iot-console__bar[data-v-1e196baa]{display:flex;gap:.75rem;align-items:center;padding:.7rem 1rem;border-bottom:1px solid rgba(120,200,255,.1);background:#ffffff05;color:#74859a;font-size:.75rem}.iot-console__dots[data-v-1e196baa]{display:inline-flex;gap:6px}.iot-console__dots i[data-v-1e196baa]{width:10px;height:10px;border-radius:50%;background:#1f2a36}.iot-console__title[data-v-1e196baa]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iot-console__live[data-v-1e196baa]{display:inline-flex;gap:.4rem;align-items:center;padding:.1rem .5rem;border:1px solid rgba(46,230,180,.32);border-radius:999px;color:#6ff0c8;font-size:.68rem;letter-spacing:.04em}.iot-console__live i[data-v-1e196baa]{width:6px;height:6px;border-radius:50%;background:#2ee6b4;box-shadow:0 0 8px #2ee6b4;animation:iot-pulse-1e196baa 1.6s ease-in-out infinite}.iot-console__body[data-v-1e196baa]{padding:1rem 1.2rem .6rem;font-size:.75rem;line-height:1.65}@media (max-width: 719px){.iot-console__body[data-v-1e196baa]{font-size:.68rem}}.iot-console__line[data-v-1e196baa]{display:grid;grid-template-columns:1.2em 6.6em minmax(0,1fr);margin-top:.3rem}.iot-console__line[data-v-1e196baa]:first-child{margin-top:0}.iot-console__line.is-up[data-v-1e196baa]{color:#d8eef8}.iot-console__line.is-down[data-v-1e196baa]{color:#7a8ca2}.iot-console__line.is-pending[data-v-1e196baa]{visibility:hidden}.is-up .iot-console__dir[data-v-1e196baa]{color:#3fcfff}.is-down .iot-console__dir[data-v-1e196baa]{color:#2ee6b4}.iot-console__type[data-v-1e196baa]{color:#7fdcff;font-weight:600}.is-down .iot-console__type[data-v-1e196baa]{color:#6ff0c8}.iot-console__text[data-v-1e196baa]{display:grid;white-space:pre-wrap;word-break:break-all}.iot-console__text>span[data-v-1e196baa]{grid-area:1/1}.iot-console__ghost[data-v-1e196baa]{visibility:hidden}.iot-console__thing[data-v-1e196baa]{margin:.4rem 1.2rem 1.2rem;padding:.75rem 1rem .85rem;border:1px solid rgba(31,200,255,.22);border-radius:12px;background:linear-gradient(135deg,#1fc8ff17,#2ee6b40d)}.iot-console__thing-head[data-v-1e196baa]{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.iot-console__role[data-v-1e196baa]{color:#3fcfff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.iot-console__task[data-v-1e196baa]{display:inline-flex;gap:.4rem;align-items:center;padding:.05rem .5rem;border:1px solid rgba(46,230,180,.3);border-radius:999px;background:#2ee6b414;color:#6ff0c8;font-size:.66rem;letter-spacing:.06em}.iot-console__task i[data-v-1e196baa]{width:5px;height:5px;border-radius:50%;background:#2ee6b4;box-shadow:0 0 6px #2ee6b4;animation:iot-pulse-1e196baa 1.6s ease-in-out infinite}.iot-console__metrics[data-v-1e196baa]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:.9rem;margin-top:.55rem}@media (max-width: 719px){.iot-console__metrics[data-v-1e196baa]{grid-template-columns:repeat(2,minmax(0,1fr))}}.iot-metric[data-v-1e196baa]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:.15rem .75rem}.iot-metric+.iot-metric[data-v-1e196baa]{padding-left:.9rem;border-left:1px solid rgba(120,200,255,.1)}.iot-metric--pose[data-v-1e196baa]{grid-template-columns:minmax(0,1fr)}@media (max-width: 719px){.iot-metric--pose[data-v-1e196baa]{grid-column:1/-1;padding:.7rem 0 0!important;border-top:1px solid rgba(120,200,255,.1);border-left:0!important}}.iot-metric--pose .iot-metric__label[data-v-1e196baa]{display:flex;align-items:center}.iot-metric--pose em[data-v-1e196baa]{margin-left:auto;color:#6ff0c8;font-family:var(--font-family-mono);font-size:.7rem;font-style:normal}.iot-metric__label[data-v-1e196baa]{grid-column:1/-1;color:#8796a8;font-family:var(--font-family);font-size:.78rem}.iot-metric__label code[data-v-1e196baa]{margin-left:.4rem;padding:.05rem .35rem;border-radius:4px;background:#1fc8ff14;color:#66788c;font-family:var(--font-family-mono);font-size:.68rem}.iot-metric__value[data-v-1e196baa]{color:#e5f0f7;font-family:var(--font-family);font-size:1.35rem;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.2}.iot-metric__value small[data-v-1e196baa]{margin-left:.2rem;color:#74859a;font-size:.75rem;font-weight:500}.iot-metric__spark[data-v-1e196baa]{justify-self:end;width:100%;max-width:7.5rem;height:2rem;overflow:visible}.iot-metric__spark polyline[data-v-1e196baa]{fill:none;stroke:#2ee6b4;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(46,230,180,.6))}.iot-metric__track[data-v-1e196baa]{width:100%;height:2.6rem;overflow:visible}@media (max-width: 719px){.iot-metric__track[data-v-1e196baa]{height:3.6rem}}.iot-metric__track .iot-metric__grid[data-v-1e196baa]{fill:none;stroke:#78c8ff1a;stroke-width:.5}.iot-metric__track polyline[data-v-1e196baa]{fill:none;stroke:#1fc8ff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(31,200,255,.7))}.iot-metric__track line[data-v-1e196baa]{stroke:#c2f4ff;stroke-width:1.2;stroke-linecap:round}.iot-metric__track circle[data-v-1e196baa]{fill:#2ee6b4}.iot-metric__track .iot-metric__halo[data-v-1e196baa]{fill:none;stroke:#2ee6b4;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:iot-ping-1e196baa 1.8s ease-out infinite}.iot-metric__coord[data-v-1e196baa]{color:#66788c;font-family:var(--font-family-mono);font-size:.68rem;font-variant-numeric:tabular-nums}.iot-features[data-v-1e196baa]{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:var(--home-page-width);margin:0 auto;padding:0 2rem 1rem}@media (max-width: 1100px){.iot-features[data-v-1e196baa]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 719px){.iot-features[data-v-1e196baa]{grid-template-columns:minmax(0,1fr);padding:0 1.25rem 1rem}}.iot-feature[data-v-1e196baa]{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.5rem 1.4rem 1.3rem;border:1px solid var(--iot-line);border-radius:16px;background:radial-gradient(420px circle at var(--mx, -200px) var(--my, -200px),rgba(31,200,255,.12),transparent 45%),linear-gradient(180deg,#ffffff08,#ffffff03);color:inherit;text-decoration:none!important;transition:border-color .25s,transform .25s}.iot-feature[data-v-1e196baa]:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:radial-gradient(260px circle at var(--mx, -200px) var(--my, -200px),rgba(60,210,255,.8),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .25s;pointer-events:none}.iot-feature[data-v-1e196baa]:hover{transform:translateY(-2px)}.iot-feature[data-v-1e196baa]:hover:after{opacity:1}.iot-feature__index[data-v-1e196baa]{position:absolute;top:1.2rem;right:1.3rem;color:#2f3d4c;font-family:var(--font-family-mono);font-size:.75rem}.iot-feature__icon[data-v-1e196baa]{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:.4rem;border:1px solid rgba(60,200,255,.3);border-radius:10px;background:linear-gradient(135deg,#1fc8ff33,#2ee6b417);color:#9fe6ff;font-size:1.05rem}.iot-feature__title[data-v-1e196baa]{color:#eef6fb;font-size:1.08rem;font-weight:650}.iot-feature__foot[data-v-1e196baa]{display:flex;flex:1;gap:1rem;align-items:flex-end;font-size:.9rem;line-height:1.7}.iot-feature__details[data-v-1e196baa]{flex:1;align-self:flex-start;color:#8796a8}.iot-feature__more[data-v-1e196baa]{flex:none;color:#3fcfff;transition:transform .25s}.iot-feature:hover .iot-feature__more[data-v-1e196baa]{transform:translate(4px)}.iot-home__content[data-v-1e196baa]{max-width:var(--home-page-width);margin:0 auto;padding:0 2rem}@media (max-width: 719px){.iot-home__content[data-v-1e196baa]{padding:0 1.25rem}}@keyframes iot-rise-1e196baa{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes iot-pulse-1e196baa{50%{opacity:.35}}@keyframes iot-ping-1e196baa{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion: reduce){.iot-hero__copy[data-v-1e196baa]>*,.iot-hero__visual[data-v-1e196baa],.iot-metric__track .iot-metric__halo[data-v-1e196baa]{animation:none}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--grey-light);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--grey-light)}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .auto-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .auto-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .auto-link .hint{color:var(--grey-light);font-size:.875rem;line-height:2}.vp-page-nav .auto-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .auto-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .auto-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .auto-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .auto-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .auto-link .arrow.end,.vp-page-nav .auto-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .auto-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable{cursor:pointer}.page-category-item.clickable:not([class*=color]):hover{color:var(--theme-color)}.page-category-item.color0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.color0{background:#340509;color:#ba111f}.page-category-item.color0.clickable:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.color0.clickable:hover{background:#53080e}.page-category-item.color1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.color1{background:#441201;color:#f54205}.page-category-item.color1.clickable:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.color1.clickable:hover{background:#6d1d02}.page-category-item.color2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.color2{background:#3e2703;color:#e08e0b}.page-category-item.color2.clickable:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.color2.clickable:hover{background:#633f05}.page-category-item.color3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.color3{background:#0c331c;color:#29b866}.page-category-item.color3.clickable:hover{background:#caf3db}html[data-theme=dark] .page-category-item.color3.clickable:hover{background:#12522d}.page-category-item.color4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.color4{background:#092917;color:#219552}.page-category-item.color4.clickable:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.color4.clickable:hover{background:#0f4224}.page-category-item.color5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.color5{background:#042929;color:#0e9595}.page-category-item.color5.clickable:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.color5.clickable:hover{background:#064242}.page-category-item.color6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.color6{background:#021b36;color:#0862c3}.page-category-item.color6.clickable:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.color6.clickable:hover{background:#042c57}.page-category-item.color7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.color7{background:#2a0b4b;color:#9851e4}.page-category-item.color7.clickable:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.color7.clickable:hover{background:#431277}.page-category-item.color8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.color8{background:#400626;color:#e81689}.page-category-item.color8.clickable:hover{background:#facbe5}html[data-theme=dark] .page-category-item.color8.clickable:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--grey-dark);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable{cursor:pointer}.page-tag-item.clickable:not([class*=color]):hover{color:var(--theme-color)}.page-tag-item.color0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.color0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.color0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.color0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.color1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.color1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.color1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.color1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.color2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.color2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.color2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.color2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.color3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.color3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.color3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.color3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.color4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.color4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.color4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.color4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.color5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.color5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.color5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.color5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.color6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.color6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.color6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.color6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.color7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.color7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.color7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.color7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.color8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.color8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.color8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.color8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--grey-dark);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.vp-page-meta{padding-inline:1.5rem}}@media print{.vp-page-meta{max-width:unset}}@media print{.vp-page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--text-color-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--grey-dark);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.vp-page-meta .update-time,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .update-time,.vp-page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.vp-toc-placeholder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+.theme-hope-content:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--bg-color-secondary)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-toc-header .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-toc-header .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;transition:height .5s;scroll-behavior:smooth}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] .vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}.vp-toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;top:0;inset-inline-start:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--transform-transition)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--grey-light);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--theme-color)}.vp-toc-item.active>.vp-toc-link{color:var(--theme-color);font-weight:700}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}#vp-comment{max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){#vp-comment{padding:1.5rem}}@media (max-width: 419px){#vp-comment{padding:1rem 1.5rem}}@media print{#vp-comment{max-width:unset}}.iot-portfolio[data-v-952d75a5]{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(76vh,46rem);margin-top:calc(var(--navbar-height) * -1);padding:calc(var(--navbar-height) + 4rem) 1.5rem 4rem;overflow:hidden;text-align:center}.iot-portfolio__inner[data-v-952d75a5]{position:relative;z-index:1;max-width:56rem;animation:iot-portfolio-rise-952d75a5 .8s cubic-bezier(.2,.7,.2,1) both}.iot-portfolio__welcome[data-v-952d75a5]{display:inline-block;margin:0;padding:.35rem 1rem;border:1px solid rgba(60,200,255,.28);border-radius:999px;background:#081c2a99;color:#c6efff;font-size:.9rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iot-portfolio__name[data-v-952d75a5]{display:flex;flex-wrap:wrap;gap:0 .35em;justify-content:center;margin:1.5rem 0 1rem;color:#f2f8fc;font-size:clamp(2.5rem,6vw,4.6rem);font-weight:800;line-height:1.1;letter-spacing:-.03em}.iot-portfolio__typed[data-v-952d75a5]{min-height:1.6em;margin:0;color:#a0b0c2;font-family:var(--font-family-mono);font-size:clamp(1.05rem,2vw,1.35rem)}.iot-portfolio__titles[data-v-952d75a5]{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:2.5rem 0 0;padding:0;list-style:none}.iot-portfolio__titles li[data-v-952d75a5]{padding:.4rem .9rem;border:1px solid var(--iot-line);border-radius:999px;background:#ffffff05;color:#74859a;font-size:.85rem;transition:color .3s,border-color .3s,background .3s}.iot-portfolio__titles li.active[data-v-952d75a5]{border-color:#3cc8ff80;background:#1fc8ff1c;color:#c8f1ff}@keyframes iot-portfolio-rise-952d75a5{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.theme-hope-content.vp-portfolio-content{--content-width: min(84%, 1200px);display:flex;flex-direction:column;align-items:center}@media (min-width: 1280px){.theme-hope-content.vp-portfolio-content{font-size:18px}}@media (max-width: 419px){.theme-hope-content.vp-portfolio-content{font-size:14px}}.theme-hope-content.vp-portfolio-content>h2,.theme-hope-content.vp-portfolio-content>h3,.theme-hope-content.vp-portfolio-content>h4,.theme-hope-content.vp-portfolio-content>h5,.theme-hope-content.vp-portfolio-content>h6{margin-bottom:1rem;border-bottom:none;text-align:center}.theme-hope-content.vp-portfolio-content>h2{font-size:2.5rem}@media (max-width: 419px){.theme-hope-content.vp-portfolio-content>h2{font-size:2rem}}.theme-hope-content.vp-portfolio-content>h3{font-size:2rem}@media (max-width: 419px){.theme-hope-content.vp-portfolio-content>h3{font-size:1.75rem}}.theme-hope-content.vp-portfolio-content>p{align-self:stretch}.theme-hope-content.vp-portfolio-content .header-anchor>span{--underline: rgba(31, 200, 255, .4);background:linear-gradient(var(--underline),var(--underline)) no-repeat;background-position:-.1em calc(100% - .05em);background-size:calc(100% + .1em) .2em;text-shadow:.05em 0 var(--bg-color),-.05em 0 var(--bg-color)}html[data-theme=dark] .theme-hope-content.vp-portfolio-content .header-anchor>span{--underline: rgba(31, 200, 255, .4)}.theme-hope-content.vp-portfolio-content .header-anchor>span:before,.theme-hope-content.vp-portfolio-content .header-anchor>span:after{content:"";position:relative;bottom:.05em;display:inline-block;vertical-align:text-bottom;width:.1em;height:.2em;background-color:var(--underline)}.theme-hope-content.vp-portfolio-content .header-anchor>span:before{left:-.1em;border-radius:.2em 0 0 .2em}.theme-hope-content.vp-portfolio-content .header-anchor>span:after{right:-.1em;border-radius:0 .2em .2em 0}.vp-skip-link{top:.25rem;inset-inline-start:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;clip-path:none}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background var(--color-transition)}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur);--external-link-icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E")}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-bg-color);--sidebar-space: var(--sidebar-width);--external-link-icon-color: var(--grey-light)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)) , 100vw )}}.vp-copy-code-button{--copy-code-color: var(--code-line-number-color);--copy-code-hover: var(--code-highlight-bg-color)}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--theme-color);--docsearch-text-color: var(--text-color);--docsearch-highlight-color: var(--theme-color);--docsearch-muted-color: var(--grey-light);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--bg-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--theme-color);--docsearch-hit-color: var(--text-color-light);--docsearch-hit-active-color: var(--bg-color);--docsearch-hit-background: var(--bg-color);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--bg-color)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--text-color);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}.vp-back-to-top-button{--back-to-top-color: var(--theme-color);--back-to-top-color-hover: var(--theme-color-light);--back-to-top-bg-color: var(--bg-color)}.vp-catalog-wrapper{--catalog-bg-color: var(--bg-color);--catalog-bg-secondary-color: var(--bg-color-secondary);--catalog-border-color: var(--border-color);--catalog-active-color: var(--theme-color);--catalog-hover-color: var(--theme-color-light)}#nprogress{--nprogress-color: var(--theme-color)}body{--photo-swipe-bullet: var(--white);--photo-swipe-bullet-active: var(--theme-color);--pwa-text-color: var(--text-color);--pwa-bg-color: var(--bg-color);--pwa-border-color: var(--border-color);--pwa-btn-text-color: var(--bg-color);--pwa-btn-bg-color: var(--theme-color);--pwa-btn-hover-bg-color: var(--theme-color-light);--pwa-shadow-color: var(--card-shadow);--pwa-content-color: var(--grey-darker);--pwa-content-light-color: var(--grey-dark)}.vp-notice-wrapper{--notice-color: var(--text-color);--notice-bg-color: var(--bg-color);--notice-primary-color: var(--theme-color);--notice-primary-text-color: var(--white);--notice-primary-hover-color: var(--theme-color-light);--notice-button-color: var(--bg-color-tertiary);--notice-button-hover-color: var(--bg-color-secondary)}.redirect-modal-mask{--redirect-bg-color: var(--bg-color);--redirect-bg-color-light: var(--bg-color-secondary);--redirect-bg-color-lighter: var(--bg-color-tertiary);--redirect-text-color: var(--text-color);--redirect-primary-color: var(--theme-color);--redirect-primary-hover-color: var(--theme-color-light);--redirect-primary-text-color: var(--white)}.search-box{--search-bg-color: var(--bg-color);--search-accent-color: var(--theme-color);--search-text-color: var(--text-color);--search-border-color: var(--border-color);--search-item-text-color: var(--text-color-lighter);--search-item-focus-bg-color: var(--bg-color-secondary)}.waline-wrapper{--waline-bg-color: var(--bg-color);--waline-bg-color-light: var(--bg-color-secondary);--waline-text-color: var(--text-color);--waline-border: 1px solid var(--border-color);--waline-border-color: var(--border-color);--waline-theme-color: var(--theme-color);--waline-active-color: var(--theme-color-light)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:#7f7f7f1f;font-size:.875em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit}a.header-anchor:hover:before{content:"¶";position:absolute;top:.4167em;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;direction:ltr}@media print{pre{white-space:pre-wrap}}pre code{padding:0;border-radius:0}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a.header-anchor{text-decoration:none}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2,hr{border-color:var(--border-color)}tr:nth-child(odd){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}div[class*=language-]{position:relative;border-radius:6px;font-size:16px}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.875rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-title);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-number-color);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;overflow:auto;margin:.875rem 0;border-radius:6px;background:var(--code-bg-color)!important;line-height:1.6}div[class*=language-] pre code{display:block;box-sizing:border-box;width:-moz-fit-content;width:fit-content;min-width:100%;padding:1.25rem;border-radius:0;background:transparent;color:var(--code-color);font-family:var(--font-family-mono)}@media print{div[class*=language-] pre code{padding:.5rem}}div[class*=language-] .line.highlighted{display:inline-block;width:100%;margin:0 -24px;padding:0 24px;background-color:var(--code-highlight-bg-color);transition:background-color .5s}div[class*=language-] .line.highlighted.error{background-color:var(--code-highlight-error-bg-color)}div[class*=language-] .line.highlighted.warning{background-color:var(--code-highlight-warning-bg-color)}div[class*=language-] .line.diff{display:inline-block;width:100%;margin:0 -24px;padding:0 24px;transition:background-color .5s}div[class*=language-] .line.diff:before{position:absolute;left:10px}div[class*=language-] .line.diff.remove{background-color:var(--code-line-diff-remove-color);opacity:.7}div[class*=language-] .line.diff.remove:before{content:"-";color:var(--code-line-diff-remove-symbol-color)}div[class*=language-] .line.diff.add{background-color:var(--code-line-diff-add-color)}div[class*=language-] .line.diff.add:before{content:"+";color:var(--code-line-diff-add-symbol-color)}div[class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;filter:blur(.095rem);transition:filter .35s,opacity .35s}div[class*=language-] .has-focused-lines:hover .line:not(.has-focus){opacity:1;filter:blur(0)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--code-line-number-width);border-right:1px solid var(--code-highlight-bg-color);border-radius:6px 0 0 6px;background:var(--code-bg-color)}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--code-line-number-width)}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0}}div[class*=language-].line-numbers-mode pre code{padding-left:.5rem}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:var(--code-line-number-width);padding:1.25rem 0;color:var(--code-line-number-color);font-size:.875em;font-family:var(--font-family-mono);line-height:1.6;counter-reset:line-number;text-align:center}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light]{--code-color: #36404c;--code-bg-color: #f2f6f9;--code-border-color: #ccdfee;--code-highlight-bg-color: #e0ebf3;--code-line-number-color: rgba(54, 64, 76, .67)}html[data-theme=dark]{--code-color: #d0dbe6;--code-bg-color: #050b12;--code-border-color: #0e223a;--code-highlight-bg-color: #0a1726;--code-line-number-color: rgba(208, 219, 230, .67)}html[data-theme=dark] .shiki{background-color:var(--shiki-dark-bg)!important}html[data-theme=dark] .shiki span{color:var(--shiki-dark)!important}.vp-external-link-icon:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-icon-color);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .external-link:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-icon-color);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .theme-hope-content a[href*="://"]:not(.no-external-link-icon):after,.external-link-icon .theme-hope-content a[target=_blank]:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-icon-color);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:not(.header-anchor):hover{text-decoration:underline}.theme-hope-content img{max-width:100%}.theme-hope-content table img{max-width:unset}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root){z-index:1}html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root){z-index:99999}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:#0000001a}}html[dir=rtl] a.header-anchor:before{right:-.75em}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}:root{--iot-accent: #1fc8ff;--iot-accent-2: #2ee6b4;--iot-accent-3: #3b8bff;--iot-line: rgb(120 200 255 / 9%);--iot-line-strong: rgb(120 200 255 / 16%);--iot-surface: rgb(255 255 255 / 2.5%);--iot-heading: #eef6fb;--iot-muted: #8796a8;--iot-grad: linear-gradient(100deg, #c2f4ff 0%, #1fc8ff 45%, #2ee6b4 100%)}html[data-theme=dark]{--navbar-bg-color: rgb(3 7 12 / 72%);--sidebar-bg-color: transparent;color-scheme:dark}html{background:var(--bg-color)}body{background:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}.theme-container:not(.no-sidebar):before,.theme-container.no-sidebar:not(:has(.iot-home,.vp-portfolio-home)):before{content:"";position:fixed;inset:0 0 auto;z-index:-1;height:520px;background:radial-gradient(60% 70% at 50% -10%,rgba(20,170,255,.13),transparent 70%),radial-gradient(30% 50% at 85% -5%,rgba(46,230,180,.08),transparent 70%);pointer-events:none}::-moz-selection{background:#1fc8ff52;color:#fff}::selection{background:#1fc8ff52;color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#78c8ff2e padding-box}::-webkit-scrollbar-thumb:hover{background:#78c8ff52 padding-box}::-webkit-scrollbar-track{background:transparent}.iot-gradient-text{background:var(--iot-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.iot-caret{display:inline-block;width:.5em;height:1.05em;margin-left:2px;vertical-align:-.15em;background:#3fcfff;animation:iot-blink 1s steps(1) infinite}@keyframes iot-blink{50%{opacity:0}}@property --iot-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes iot-border-spin{to{--iot-angle: 360deg}}.iot-btn{position:relative;display:inline-flex;gap:.5rem;align-items:center;justify-content:center;height:2.9rem;padding:0 1.4rem;border:1px solid transparent;border-radius:12px;font-size:.98rem;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none!important;transition:transform .2s,box-shadow .25s,background .25s,border-color .25s,color .25s}.iot-btn:hover{transform:translateY(-1px)}.iot-btn--sm{height:2.15rem;padding:0 .95rem;border-radius:9px;font-size:.85rem}.iot-btn--primary{isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#0f2b3f,#0a1f30 55%,#081927) padding-box,conic-gradient(from var(--iot-angle),rgba(31,200,255,.3) 0%,#c2f4ff 10%,#2ee6b4 22%,rgba(46,230,180,.3) 36%,rgba(31,200,255,.3) 100%) border-box;box-shadow:inset 0 1px #ffffff24,0 10px 30px -12px #14aaffbf;color:#fff!important;letter-spacing:.04em;text-shadow:0 0 14px rgba(160,230,255,.45);animation:iot-border-spin 5s linear infinite}.iot-btn--primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:radial-gradient(120% 90% at 50% -30%,rgba(60,200,255,.38),transparent 62%)}.iot-btn--primary:after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skew(-20deg);transition:left .7s ease;pointer-events:none}.iot-btn--primary:hover{box-shadow:inset 0 1px #fff3,0 14px 36px -10px #14aafff2}.iot-btn--primary:hover:after{left:130%}.iot-btn--ghost{border-color:var(--iot-line-strong);background:#ffffff08;color:#d3dee8!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iot-btn--ghost:hover{border-color:#3cc8ff73;background:#1fc8ff17;color:#fff!important}.vp-navbar{border-bottom:1px solid var(--iot-line);box-shadow:none;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.vp-navbar .vp-navbar-start{flex:1 1 auto;gap:.5rem}.vp-navbar .vp-navbar-center{flex:0 0 auto}.vp-navbar .vp-navbar-end{flex:0 0 auto;gap:.75rem}.vp-navbar .vp-brand{display:flex;align-items:center;margin-inline-end:1.5rem!important}.vp-navbar .vp-nav-logo{height:1.9rem;filter:drop-shadow(0 0 10px rgba(31,200,255,.45))}.vp-navbar .vp-site-name{color:var(--iot-heading);font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.vp-navbar .vp-nav-links{gap:.15rem}.vp-navbar .vp-nav-links .icon{display:none}.vp-navbar .vp-nav-item{margin:0!important}.vp-navbar .vp-nav-item>.auto-link,.vp-navbar .vp-nav-item .vp-dropdown-title{position:relative;padding:.4rem .8rem;border-radius:8px;color:var(--iot-muted);font-size:.92rem;font-weight:500;line-height:1.4;transition:color .2s,background .2s}.vp-navbar .vp-nav-item>.auto-link:hover,.vp-navbar .vp-nav-item .vp-dropdown-title:hover{background:#ffffff0a;color:var(--iot-heading)}.vp-navbar .vp-nav-item>.auto-link:after{display:none}.vp-navbar .vp-nav-item>.auto-link.route-link-active{color:var(--iot-heading)}.vp-navbar .vp-nav-item>.auto-link.route-link-active:after{content:"";display:block;visibility:visible;position:absolute;inset:auto .8rem -.85rem;height:2px;border-radius:2px;background:var(--iot-grad);box-shadow:0 0 12px #1fc8ffcc}.vp-dropdown-wrapper .vp-dropdown-title{display:inline-flex;gap:.3rem;align-items:center;border:none;background:transparent;cursor:pointer}.vp-dropdown-wrapper .vp-dropdown-title .arrow{opacity:.6}.vp-dropdown-wrapper .vp-dropdown{min-width:13rem;padding:.5rem!important;border:1px solid var(--iot-line-strong)!important;border-radius:14px!important;background:#08111a!important;box-shadow:0 24px 60px -12px #000000d9,inset 0 1px #ffffff0d!important}.vp-dropdown-wrapper .vp-dropdown .icon{display:none}.vp-dropdown-wrapper .vp-dropdown-item+.vp-dropdown-item{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--iot-line)}.vp-dropdown-wrapper .vp-dropdown-subtitle{margin:0!important;padding:.45rem .75rem .25rem!important;border:none!important;color:#56677a!important;font-family:var(--font-family-mono);font-size:.7rem!important;font-weight:600;letter-spacing:.12em}.vp-dropdown-wrapper .vp-dropdown-subitem .auto-link,.vp-dropdown-wrapper .vp-dropdown-item>.auto-link{display:block;padding:.45rem .75rem!important;border:none!important;border-radius:8px;color:#c0ccd8!important;font-size:.9rem;line-height:1.6;transition:background .15s,color .15s}.vp-dropdown-wrapper .vp-dropdown-subitem .auto-link:hover,.vp-dropdown-wrapper .vp-dropdown-subitem .auto-link.route-link-active,.vp-dropdown-wrapper .vp-dropdown-item>.auto-link:hover,.vp-dropdown-wrapper .vp-dropdown-item>.auto-link.route-link-active{background:#1fc8ff1f;color:#fff!important}.vp-dropdown-wrapper .vp-dropdown-subitem .auto-link:before,.vp-dropdown-wrapper .vp-dropdown-subitem .auto-link:after,.vp-dropdown-wrapper .vp-dropdown-item>.auto-link:before,.vp-dropdown-wrapper .vp-dropdown-item>.auto-link:after{display:none}.search-pro-button{height:2.15rem;margin:0!important;padding:0 .5rem 0 .75rem!important;border:1px solid var(--iot-line-strong)!important;border-radius:9px!important;background:#ffffff08!important;color:var(--iot-muted)!important;transition:border-color .2s,background .2s}.search-pro-button:hover{border-color:#3cc8ff73!important;background:#1fc8ff12!important}.search-pro-button .search-pro-placeholder{margin-inline-end:1.5rem;font-size:.85rem;font-weight:400}.search-pro-button .search-pro-key{min-width:1.2rem;height:1.2rem;padding:0 .25rem;border:1px solid var(--iot-line-strong);border-radius:5px;background:#ffffff0a;box-shadow:none;color:#74859a;font-family:var(--font-family-mono);font-size:.7rem;line-height:1.2rem}.search-pro-modal-wrapper .search-pro-mask{background:#020509b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.search-pro-modal-wrapper .search-pro-modal{border:1px solid var(--iot-line-strong);border-radius:16px;background:#07101a;box-shadow:0 40px 100px -20px #000000e6}.search-pro-modal-wrapper .search-pro-input{border:1px solid rgba(60,200,255,.45);border-radius:12px;background:#ffffff08;box-shadow:0 0 0 4px #1fc8ff1c;color:var(--iot-heading)}.search-pro-modal-wrapper .search-pro-suggestions{overflow:hidden;border:1px solid var(--iot-line-strong);border-radius:12px;background:#0a131d}.search-pro-modal-wrapper .search-pro-suggestion{border-top-color:var(--iot-line);color:#c0ccd8}.search-pro-modal-wrapper .search-pro-suggestion.active,.search-pro-modal-wrapper .search-pro-suggestion:hover{background:#1fc8ff1c;color:#fff}.search-pro-modal-wrapper .search-pro-auto-complete{border-color:var(--iot-line-strong);color:var(--iot-muted)}.search-pro-modal-wrapper .search-pro-result-title{background:#07101a;color:#5fd4ff}.search-pro-modal-wrapper .search-pro-result-item{border:1px solid var(--iot-line);border-radius:10px;background:#ffffff06;box-shadow:none;color:#c0ccd8}.search-pro-modal-wrapper .search-pro-result-item:hover,.search-pro-modal-wrapper .search-pro-result-item.active{border-color:#3cc8ff73;background:#1fc8ff24;color:#fff}.search-pro-modal-wrapper .search-pro-result-type{color:#3fcfff}.search-pro-modal-wrapper mark{padding:0 .15em;background:#1fc8ff52;color:#fff}.search-pro-modal-wrapper .search-pro-hints{border-top:1px solid var(--iot-line);color:#66788c}.vp-sidebar{padding-left:0;border-inline-end:1px solid var(--iot-line);background:#04090fc7;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.vp-sidebar>.vp-sidebar-links{padding:1.25rem .75rem 2rem}.vp-sidebar .vp-sidebar-header{margin:.15rem 0;padding:.5rem .65rem;border-radius:8px;color:#d3dee8;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.vp-sidebar .vp-sidebar-header .icon{color:#2f8fb8;font-size:.85em}.vp-sidebar .vp-sidebar-header.clickable:hover{background:#ffffff09;color:#fff}.vp-sidebar .vp-sidebar-header.active{color:#fff;background:transparent}.vp-sidebar .vp-sidebar-header.active .icon{color:#5fd4ff}.vp-sidebar .vp-sidebar-title{letter-spacing:.01em}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{color:#d3dee8;font-size:.9rem;font-weight:600}.vp-sidebar .vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{padding:.38rem .65rem;color:var(--iot-muted);font-size:.88rem;font-weight:500}.vp-sidebar .vp-sidebar-group .vp-sidebar-group .vp-sidebar-header.active{color:var(--iot-heading)}.vp-sidebar .vp-sidebar-header.clickable{cursor:pointer}.vp-sidebar .vp-sidebar-header.clickable:active{background:#ffffff0f}.vp-sidebar .vp-sidebar-header.clickable:focus-visible{outline:2px solid rgba(60,200,255,.7);outline-offset:-2px}.vp-sidebar .vp-sidebar-header .vp-sidebar-title{color:inherit;font-weight:inherit}.vp-sidebar .vp-sidebar-link:focus-visible{outline:2px solid rgba(60,200,255,.7);outline-offset:-2px}.vp-sidebar .vp-arrow{opacity:.45;transition:transform .2s ease,opacity .15s}.vp-sidebar .vp-sidebar-header:hover .vp-arrow{opacity:.9}.vp-sidebar .vp-sidebar-group .vp-sidebar-links{margin-inline-start:.95rem;padding-inline-start:.4rem;border-inline-start:1px solid var(--iot-line)}.vp-sidebar .vp-sidebar-link{position:relative;margin:1px 0;padding:.38rem .65rem;border:none;border-radius:7px;color:var(--iot-muted);font-size:.88rem;font-weight:400;line-height:1.5;transition:background .15s,color .15s}.vp-sidebar .vp-sidebar-link:hover{background:#ffffff08;color:var(--iot-heading)}.vp-sidebar .vp-sidebar-link.active{background:linear-gradient(90deg,#1fc8ff24,#1fc8ff08);color:#fff;font-weight:500}.vp-sidebar .vp-sidebar-link.active:before{content:"";position:absolute;top:22%;bottom:22%;left:calc(-.4rem - 1px);width:2px;border-radius:2px;background:var(--iot-grad);box-shadow:0 0 10px #1fc8ffe6}.vp-sidebar .vp-sidebar-link .icon{color:#56677a;font-size:.8em}.vp-sidebar .vp-sidebar-link.active .icon{color:#5fd4ff}.toggle-sidebar-wrapper .arrow{border-color:var(--iot-muted)}@media (min-width: 960px){.vp-breadcrumb,.vp-page-title,.vp-page-meta,.vp-toc-placeholder,.theme-hope-content:not(.custom){padding-inline:1.5rem}.theme-container:not(.no-sidebar) .vp-page{padding-inline-start:calc(var(--sidebar-space) + 2rem)}}@media (min-width: 960px) and (max-width: 1439px){html{--content-width: min(calc(100vw - var(--sidebar-width) - 3rem), 1100px) !important}}@media (min-width: 1440px){html{--content-width: min(calc(100vw - var(--sidebar-width) - 18.5rem), 1360px) !important}.theme-container:not(.no-sidebar) .vp-page{padding-inline-start:calc(var(--sidebar-width) + 2rem);padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-width) - 2rem)}#toc{inset-inline-start:100%}}.vp-breadcrumb{font-size:.8rem}.vp-breadcrumb .icon{display:none}.vp-breadcrumb a{color:#66788c}.vp-breadcrumb a:hover{color:#8fe3ff}.vp-breadcrumb li+li:before{color:#2f3d4c}.vp-breadcrumb .is-active a{color:var(--iot-muted)}.vp-page-title{padding-top:.5rem}.vp-page-title h1{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem;color:var(--iot-heading);font-size:2.1rem;font-weight:750;letter-spacing:-.02em}.vp-page-title h1 .icon{display:inline-grid;flex:none;place-items:center;width:2.3rem;height:2.3rem;margin:0;border:1px solid rgba(60,200,255,.32);border-radius:10px;background:linear-gradient(135deg,#1fc8ff38,#2ee6b417);box-shadow:0 0 24px -6px #1fc8ff99;color:#b5ecff;font-size:.95rem}.vp-page-title .page-info{gap:.25rem 1rem;color:#66788c;font-size:.8rem}.vp-page-title .page-info .icon,.vp-page-title .page-info svg{color:#3f5064}.vp-page-title .page-info a{color:#8796a8}.vp-page-title .page-category-item,.vp-page-title .page-tag-item{padding:.1rem .55rem;border:1px solid var(--iot-line-strong);border-radius:999px;background:#ffffff08!important;color:#a3b1c0!important;font-size:.72rem}.vp-page-title hr{margin-top:1.25rem;border-top:1px solid var(--iot-line)}.vp-toc-placeholder #toc .vp-toc-header{color:#66788c;font-family:var(--font-family-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em}.vp-toc-placeholder #toc .vp-toc-wrapper:before{background:var(--iot-line)}.vp-toc-placeholder #toc .vp-toc-link{color:#66788c;font-size:.8rem;transition:color .15s}.vp-toc-placeholder #toc .vp-toc-link:hover{color:var(--iot-heading)}.vp-toc-placeholder #toc .vp-toc-link.active{color:#8fe3ff}.vp-toc-placeholder #toc .vp-toc-marker{background:var(--iot-grad);box-shadow:0 0 10px #1fc8ffcc}.vp-page-nav{gap:1rem;padding-top:1.5rem;border-top:1px solid var(--iot-line)}.vp-page-nav .auto-link{padding:.9rem 1.2rem;border:1px solid var(--iot-line-strong);border-radius:12px;background:var(--iot-surface);transition:border-color .2s,background .2s,box-shadow .2s}.vp-page-nav .auto-link:hover{border-color:#3cc8ff73;background:#1fc8ff0d;box-shadow:0 10px 30px -14px #1fc8ffb3}.vp-page-nav .auto-link .hint{color:#66788c;font-size:.75rem}.vp-page-nav .auto-link .link{color:var(--iot-heading);font-weight:600}.theme-hope-content .vp-catalog-wrapper a:is(.vp-catalog-title,.vp-sub-catalog-link){color:#c0ccd8}.theme-hope-content .vp-catalog-wrapper a:is(.vp-catalog-title,.vp-sub-catalog-link):hover{color:#8fe3ff;text-decoration:none}.theme-hope-content .vp-catalog-wrapper a.vp-sub-catalog-link{color:var(--iot-muted)}.theme-hope-content .vp-catalog-wrapper .vp-catalog-child-title a.vp-catalog-title{color:var(--iot-heading)}.theme-hope-content .vp-catalog-wrapper a:is(.vp-catalog-title,.vp-sub-catalog-link) .icon{color:#2f8fb8}.vp-page.not-found .error-code{background:var(--iot-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.vp-page.not-found .action-button{padding:.6rem 1.3rem;border:1px solid var(--iot-line-strong);border-radius:10px;background:#ffffff08;color:#d3dee8;transition:border-color .2s,background .2s}.vp-page.not-found .action-button:hover{border-color:#3cc8ff73;background:#1fc8ff1c;color:#fff}.vp-footer-wrapper{padding-block:1.75rem;border-top:1px solid var(--iot-line);background:#02050999;color:#56677a;font-size:.8rem}.vp-footer-wrapper .vp-footer,.vp-footer-wrapper .vp-copyright{color:#56677a}a.copyright-link{color:#66788c}a.copyright-link:hover{color:#8fe3ff}.theme-hope-content{color:#c0cbd7;font-size:.97rem;line-height:1.85}.theme-hope-content h1,.theme-hope-content h2,.theme-hope-content h3,.theme-hope-content h4,.theme-hope-content h5,.theme-hope-content h6{color:var(--iot-heading);font-weight:650;letter-spacing:-.01em}.theme-hope-content h2{margin-top:2.75rem;padding-bottom:.6rem;border-bottom:1px solid var(--iot-line);font-size:1.5rem}.theme-hope-content h3{margin-top:2rem;font-size:1.18rem}.theme-hope-content .header-anchor{color:inherit}.theme-hope-content a:not(.header-anchor,.iot-btn,.vp-card){color:#5fd4ff;text-decoration:none;text-underline-offset:3px;transition:color .15s}.theme-hope-content a:not(.header-anchor,.iot-btn,.vp-card):hover{color:#a8e9ff;text-decoration:underline}.theme-hope-content strong{color:#e9f3fa;font-weight:600}.theme-hope-content hr{border-top:1px solid var(--iot-line)}.theme-hope-content ul>li::marker{color:#2f8fb8}.theme-hope-content ol>li::marker{color:#3fcfff;font-family:var(--font-family-mono);font-size:.9em}.theme-hope-content blockquote{padding:.6rem 1.1rem;border-inline-start:2px solid var(--iot-accent);border-radius:0 10px 10px 0;background:#1fc8ff0d;color:#a3b1c0}.theme-hope-content kbd{padding:.1rem .4rem;border:1px solid var(--iot-line-strong);border-radius:5px;background:#ffffff0a;box-shadow:none;font-family:var(--font-family-mono);font-size:.8em}.theme-hope-content :not(pre)>code{padding:.12rem .42rem;border:1px solid rgba(31,200,255,.18);border-radius:6px;background:#1fc8ff17;color:#a8e6ff;font-family:var(--font-family-mono);font-size:.85em}.theme-hope-content .mermaid-wrapper{margin:1rem 0;padding:.75rem 1rem 1.25rem;border:1px solid var(--iot-line-strong);border-radius:12px;background:var(--code-bg-color);box-shadow:inset 0 1px #ffffff0a}@media (min-width: 960px){.theme-hope-content .mermaid-wrapper .mermaid-content svg{max-width:100%;height:auto}}.theme-hope-content .mermaid-wrapper .preview-button,.theme-hope-content .mermaid-wrapper .download-button{width:1.75rem;height:1.75rem;color:#3f5064;transition:color .15s}.theme-hope-content .mermaid-wrapper .preview-button:hover,.theme-hope-content .mermaid-wrapper .download-button:hover{color:var(--iot-accent)}.theme-hope-content div[class*=language-]{margin:1rem 0;border:1px solid var(--iot-line-strong);border-radius:12px;background:var(--code-bg-color);box-shadow:inset 0 1px #ffffff0a}.theme-hope-content div[class*=language-]:before{top:.5rem;right:.9rem;color:#3f5064;font-family:var(--font-family-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.theme-hope-content div[class*=language-] pre.shiki,.theme-hope-content div[class*=language-] pre{margin-block:0;background:transparent!important}.theme-hope-content div[class*=language-].line-numbers-mode:after{border-radius:11px 0 0 11px;background:transparent}.theme-hope-content div[class*=language-] .line-numbers{border-inline-end:1px solid var(--iot-line);color:#2c3a49}.theme-hope-content .code-tabs-nav{border-radius:12px 12px 0 0}.theme-hope-content table{border:1px solid var(--iot-line-strong);border-radius:12px;border-collapse:separate;border-spacing:0;font-size:.9rem;line-height:1.65}@media (min-width: 720px){.theme-hope-content table{display:table;width:100%}}.theme-hope-content th:first-child,.theme-hope-content td:first-child{min-width:96px}.theme-hope-content th,.theme-hope-content td{padding:.65rem 1rem;border:none;border-bottom:1px solid var(--iot-line);text-align:start}.theme-hope-content td[rowspan],.theme-hope-content th[rowspan]{border-inline-end:1px solid var(--iot-line)}.theme-hope-content th{background:#ffffff08;color:#e3edf5;font-size:.82rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.theme-hope-content tr{border:none;background:transparent!important;transition:background .15s}.theme-hope-content tr:hover td{background:#1fc8ff0a}.theme-hope-content tr:last-child td{border-bottom:none}.theme-hope-content thead tr:first-child th:first-child{border-start-start-radius:11px}.theme-hope-content thead tr:first-child th:last-child{border-start-end-radius:11px}.theme-hope-content .cap-table th:first-child,.theme-hope-content .cap-table td:first-child{white-space:nowrap}.theme-hope-content img:not([src*="img.shields.io"]){border-radius:10px}.theme-hope-content p>img:not([src*="img.shields.io"]),.theme-hope-content figure img{border:1px solid var(--iot-line-strong);box-shadow:0 24px 60px -24px #000000d9}.theme-hope-content figure figcaption{color:#66788c;font-size:.8rem}.theme-hope-content a:has(>img):after{display:none!important}.theme-hope-content img[src*="img.shields.io"]{margin:.15rem;border-radius:4px;filter:grayscale(1) brightness(1.1) contrast(1.05);opacity:.8}.theme-hope-content .hint-container.info{--hc: #3b8bff}.theme-hope-content .hint-container.tip{--hc: #2ee6b4}.theme-hope-content .hint-container.important{--hc: #1fc8ff}.theme-hope-content .hint-container.note{--hc: #8a98a8}.theme-hope-content .hint-container.warning{--hc: #f5b14a}.theme-hope-content .hint-container.caution{--hc: #ff5c7a}.theme-hope-content .hint-container:is(.info,.tip,.important,.note,.warning,.caution){position:relative;margin:1.4rem 0;padding:.95rem 1.2rem .95rem 1.35rem;border:1px solid color-mix(in srgb,var(--hc) 26%,transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--hc) 10%,transparent),color-mix(in srgb,var(--hc) 3%,transparent) 70%);color:#c0cbd7}.theme-hope-content .hint-container:is(.info,.tip,.important,.note,.warning,.caution):before{content:"";position:absolute;top:.9rem;bottom:.9rem;left:-1px;width:2px;border-radius:2px;background:var(--hc);box-shadow:0 0 12px var(--hc)}.theme-hope-content .hint-container:is(.info,.tip,.important,.note,.warning,.caution)>.hint-container-title{margin:.1rem 0 .4rem;padding-inline-start:1.1rem;color:color-mix(in srgb,var(--hc) 55%,#fff);font-size:.92rem;letter-spacing:.01em}.theme-hope-content .hint-container:is(.info,.tip,.important,.note,.warning,.caution)>.hint-container-title:before{top:calc(50% - .22rem);width:.44rem;height:.44rem;border-radius:2px;background:var(--hc);box-shadow:0 0 10px var(--hc)}.theme-hope-content .hint-container:is(.info,.tip,.important,.note,.warning,.caution) p{line-height:1.75}.theme-hope-content .hint-container:is(.info,.tip,.important,.note,.warning,.caution) code{border-color:color-mix(in srgb,var(--hc) 25%,transparent);background:color-mix(in srgb,var(--hc) 13%,transparent);color:color-mix(in srgb,var(--hc) 40%,#fff)}.theme-hope-content details.hint-container.details{margin:1rem 0;padding:0 1.25rem;border:1px solid var(--iot-line-strong);border-radius:12px;background:var(--iot-surface);color:#c0cbd7;transition:border-color .2s}.theme-hope-content details.hint-container.details:hover{border-color:#3cc8ff4d}.theme-hope-content details.hint-container.details>summary{margin:0 -1.25rem;padding:.95rem 1.25rem .95rem 3.1rem;color:#e3edf5;font-weight:600}.theme-hope-content details.hint-container.details>summary:before,.theme-hope-content details.hint-container.details>summary:after{inset-inline-start:1.1rem;width:1.3rem;height:1.3rem;top:calc(50% - .65rem)}.theme-hope-content details.hint-container.details>summary:before{border:1px solid rgba(60,200,255,.35);background:#1fc8ff1c}.theme-hope-content details.hint-container.details>summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%235fd4ff' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-size:1rem;background-position:center;background-repeat:no-repeat}.theme-hope-content details.hint-container.details[open]>summary{margin-bottom:1rem;border-bottom:1px solid var(--iot-line)}.theme-hope-content details.hint-container.details[open]{padding-bottom:1rem}.theme-hope-content .task-list-item-checkbox{accent-color:var(--iot-accent-2)}.vp-portfolio-home .theme-hope-content.vp-portfolio-content>h2{margin-top:4rem;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:750;letter-spacing:-.02em}.vp-portfolio-home .theme-hope-content.vp-portfolio-content>h2 .header-anchor>span{background:none;text-shadow:none}.vp-portfolio-home .theme-hope-content.vp-portfolio-content>h2 .header-anchor>span:before,.vp-portfolio-home .theme-hope-content.vp-portfolio-content>h2 .header-anchor>span:after{display:none}.vp-portfolio-home .theme-hope-content.vp-portfolio-content>h2:after{content:"";display:block;width:3rem;height:2px;margin:.9rem auto 0;border-radius:2px;background:var(--iot-grad);box-shadow:0 0 12px #1fc8ffb3}.theme-hope-content .vp-tabs{overflow:hidden;align-self:center;width:100%;max-width:1000px;margin:1.5rem 0;border:1px solid var(--iot-line-strong);border-radius:20px;background:radial-gradient(70% 50% at 50% 0%,rgba(31,200,255,.11),transparent 70%),linear-gradient(180deg,#09141ed9,#050a10d9);box-shadow:inset 0 1px #ffffff0d,0 40px 100px -50px #14aaff73}.theme-hope-content .vp-tabs .vp-tabs-nav{display:flex;gap:6px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 2.5rem);margin:1.5rem auto 0;padding:6px;overflow-x:auto;border:1px solid var(--iot-line-strong);border-radius:16px;background:#04090fb3;box-shadow:inset 0 1px 2px #00000080;scrollbar-width:none}.theme-hope-content .vp-tabs .vp-tabs-nav::-webkit-scrollbar{display:none}.theme-hope-content .vp-tabs .vp-tab-nav{position:relative;isolation:isolate;flex:none;min-width:0;padding:.6rem 1.25rem;border:1px solid transparent;border-radius:11px;background:transparent;color:#8796a8;font-size:.9rem;font-weight:500;letter-spacing:.02em;transition:background .2s,color .2s,box-shadow .25s}.theme-hope-content .vp-tabs .vp-tab-nav:before,.theme-hope-content .vp-tabs .vp-tab-nav:after{display:none}.theme-hope-content .vp-tabs .vp-tab-nav:hover:not(.active){background:#ffffff0d;color:#e3edf5}.theme-hope-content .vp-tabs .vp-tab-nav.active{background:linear-gradient(180deg,#0f2b3f,#0a1f30 55%,#081927) padding-box,conic-gradient(from var(--iot-angle),rgba(31,200,255,.3) 0%,#c2f4ff 10%,#2ee6b4 22%,rgba(46,230,180,.3) 36%,rgba(31,200,255,.3) 100%) border-box;box-shadow:inset 0 1px #ffffff24,0 10px 26px -12px #14aaffd9;color:#fff;text-shadow:0 0 14px rgba(160,230,255,.5);animation:iot-border-spin 5s linear infinite}.theme-hope-content .vp-tabs .vp-tab-nav.active:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:auto;height:auto;border-radius:inherit;background:radial-gradient(120% 90% at 50% -30%,rgba(60,200,255,.38),transparent 62%)}.theme-hope-content .vp-tabs .vp-tab{padding:2rem 2rem 2.25rem;background:transparent}.theme-hope-content .vp-tabs .vp-tab img{border:1px solid var(--iot-line-strong);border-radius:12px;box-shadow:0 0 0 6px #ffffff05,0 40px 90px -36px #000000f2}.theme-hope-content .vp-tabs .vp-tab figcaption{margin-top:.75rem}.iot-home{--home-page-width: min( calc(50vw + 600px) , 1800px)}.iot-home .theme-hope-content{max-width:none;padding:2.5rem 0 2rem}@media (max-width: 719px){.iot-home .theme-hope-content{padding:2rem 0}}.iot-home .theme-hope-content>h2{margin-top:4.5rem;padding-bottom:0;border:none;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:750;letter-spacing:-.02em}.iot-home .theme-hope-content>h2:after{content:"";display:block;width:3rem;height:2px;margin-top:.9rem;border-radius:2px;background:var(--iot-grad);box-shadow:0 0 12px #1fc8ffb3}.iot-home .theme-hope-content>ul{padding:1.4rem 1.6rem 1.4rem 2.6rem;border:1px solid var(--iot-line);border-radius:16px;background:var(--iot-surface)}.iot-home .theme-hope-content>p>img:not([src*="img.shields.io"]){padding:1rem;border-radius:18px;background:#ffffff05;box-shadow:0 0 0 1px #1fc8ff1f,0 40px 100px -40px #14aaff73}.vp-portfolio-home .theme-hope-content{padding-bottom:3rem}.mermaid-wrapper foreignObject>div,.mermaid-preview foreignObject>div{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%}.iot-nav-actions[data-v-f1ec4581]{display:flex;gap:.6rem;align-items:center}.iot-nav-actions__cta[data-v-f1ec4581]{gap:.35rem;height:2.25rem;padding:0 .85rem 0 1.05rem}.iot-nav-actions__arrow[data-v-f1ec4581]{width:14px;height:14px;opacity:.85;transition:transform .25s ease}.iot-nav-actions__cta:hover .iot-nav-actions__arrow[data-v-f1ec4581]{transform:translate(3px)}.iot-signal-field[data-v-1545e7e9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;width:100vw;height:100vh;pointer-events:none}.iot-contact__trigger[data-v-9baf6582]{padding:0;border:0;background:none;color:#5fd4ff;font:inherit;text-underline-offset:3px;cursor:pointer;transition:color .15s}.iot-contact__trigger[data-v-9baf6582]:hover{color:#a8e9ff;text-decoration:underline}.iot-contact__trigger[data-v-9baf6582]:focus-visible{border-radius:4px;outline:2px solid var(--iot-accent-2);outline-offset:2px}.iot-contact[data-v-9baf6582]{max-width:none;max-height:none;padding:1.5rem;overflow:visible;border:0;background:transparent;color:inherit;animation:iot-contact-in-9baf6582 .35s cubic-bezier(.2,.7,.2,1)}.iot-contact[data-v-9baf6582]::backdrop{background:#020509b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:iot-contact-fade-9baf6582 .25s ease}.iot-contact__panel[data-v-9baf6582]{position:relative;width:min(20rem,100vw - 4rem,(100dvh - 9rem) * .64);border:1.5px solid transparent;border-radius:18px;background:radial-gradient(120% 45% at 50% -8%,rgba(60,200,255,.2),transparent 70%) padding-box,linear-gradient(180deg,#0c2232,#081723 48%,#050f18) padding-box,conic-gradient(from var(--iot-angle),transparent 0%,rgba(31,200,255,.7) 6%,#c2f4ff 14%,#2ee6b4 22%,transparent 30%,transparent 52%,rgba(46,230,180,.5) 62%,transparent 72%) border-box,linear-gradient(#78c8ff2e,#78c8ff2e) border-box;box-shadow:inset 0 1px #ffffff1a,0 30px 80px -24px #000000e6;animation:iot-border-spin 5s linear infinite}.iot-contact__panel[data-v-9baf6582]:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:-1;border-radius:inherit;background:conic-gradient(from var(--iot-angle),transparent 0%,rgba(31,200,255,.7) 6%,#c2f4ff 14%,#2ee6b4 22%,transparent 30%,transparent 52%,rgba(46,230,180,.5) 62%,transparent 72%);filter:blur(14px);opacity:.85;animation:iot-border-spin 5s linear infinite}.iot-contact__bar[data-v-9baf6582]{display:flex;gap:.75rem;align-items:center;padding:.5rem .5rem .5rem 1rem;border-bottom:1px solid rgba(120,200,255,.1)}.iot-contact__dots[data-v-9baf6582]{display:inline-flex;gap:6px}.iot-contact__dots i[data-v-9baf6582]{width:10px;height:10px;border-radius:50%;background:#1f2a36}.iot-contact__title[data-v-9baf6582]{flex:1;overflow:hidden;color:#c5d0dc;font-size:.8rem;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.iot-contact__close[data-v-9baf6582]{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:8px;background:transparent;color:#74859a;cursor:pointer;transition:background .15s,color .15s}.iot-contact__close[data-v-9baf6582]:hover{background:#ffffff0f;color:#eef6fb}.iot-contact__close[data-v-9baf6582]:focus-visible{outline:2px solid var(--iot-accent-2);outline-offset:2px}.iot-contact__close svg[data-v-9baf6582]{width:14px;height:14px}.iot-contact__body[data-v-9baf6582]{padding:.75rem .75rem 0}.iot-contact .iot-contact__qrcode[data-v-9baf6582]{display:block;width:100%;height:auto;margin:0;border:1px solid rgba(120,200,255,.12);border-radius:10px;box-shadow:0 18px 40px -22px #000000e6}.iot-contact__hint[data-v-9baf6582]{margin:0;padding:.75rem .5rem .85rem;color:var(--iot-muted);font-size:.8rem;line-height:1.5;text-align:center}@keyframes iot-contact-in-9baf6582{0%{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes iot-contact-fade-9baf6582{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.iot-contact[data-v-9baf6582],.iot-contact[data-v-9baf6582]::backdrop,.iot-contact__panel[data-v-9baf6582],.iot-contact__panel[data-v-9baf6582]:before{animation:none}}.search-pro-result-wrapper{scrollbar-color:var(--vp-tc) var(--vp-brc);scrollbar-width:thin}@media (max-width: 419px){.search-pro-result-wrapper{font-size:14px}}.search-pro-result-wrapper::-webkit-scrollbar{width:6px;height:6px}.search-pro-result-wrapper::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}.search-pro-result-wrapper::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-tc)}.search-pro-result-wrapper::-webkit-scrollbar-thumb:active{background:var(--vp-tcl)}.search-pro-result-wrapper mark{border-radius:.25em;line-height:1}.search-pro-result-list{margin:0;padding:0}.search-pro-result-list-item{display:block;list-style:none}.search-pro-result-title{position:sticky;top:-2px;z-index:10;margin:-4px;margin-bottom:.25rem;padding:4px;background:var(--vp-bg);color:var(--vp-tc);font-weight:600;font-size:.875em;line-height:2rem;text-indent:.5em}.search-pro-result-item.active .search-pro-result-title{color:var(--vp-tc)}.search-pro-result-type{display:block;width:1rem;height:1rem;margin-inline-start:-.5rem;padding:.5rem;color:var(--vp-tc)}.search-pro-remove-icon{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;height:1.5rem;padding:0;border-radius:50%;color:var(--vp-tc);font-size:1rem}.search-pro-remove-icon svg{width:1.5rem;height:1.5rem}.search-pro-remove-icon:hover{background:#8080804d}.search-pro-result-content{display:flex;flex-grow:1;flex-direction:column;align-items:stretch;justify-content:center;line-height:1.5}.search-pro-result-content .content-header{margin-bottom:.25rem;border-bottom:1px solid var(--vp-brcd);font-size:.9em}.search-pro-result-item{display:flex;align-items:center;margin:.5rem 0;padding:.5rem .75rem;border-radius:.25rem;background:var(--vp-bgl);color:inherit;box-shadow:0 1px 3px 0 var(--card-shadow);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.search-pro-result-item strong{color:var(--vp-tc)}.search-pro-result-item:hover,.search-pro-result-item.active{background-color:var(--vp-tcl);color:var(--white);cursor:pointer}.search-pro-result-item:hover .search-pro-result-type,.search-pro-result-item:hover .search-pro-remove-icon,.search-pro-result-item:hover strong,.search-pro-result-item.active .search-pro-result-type,.search-pro-result-item.active .search-pro-remove-icon,.search-pro-result-item.active strong{color:var(--white)}
