@charset "UTF-8";/*!normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css*/@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap";html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.chroma{color:#eee;background-color:#0a0f13}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em}.chroma .ln{margin-right:.4em;padding:0 .4em}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}@font-face{font-family:JetBrains Sans;src:url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff2)format("woff2"),url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff)format("woff");font-weight:300;font-style:normal}@font-face{font-family:JetBrains Sans;src:url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff2)format("woff2"),url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff)format("woff");font-weight:400;font-style:normal}@font-face{font-family:JetBrains Sans;src:url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff2)format("woff2"),url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff)format("woff");font-weight:600;font-style:normal}@supports(font-variation-settings:normal){@font-face{font-family:JetBrains Sans;src:url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans.woff2)format("woff2 supports variations"),url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans.woff2)format("woff2-variations"),url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans.woff)format("woff-variations");font-weight:100 900;font-style:normal}}.ap-default-term-ff{--term-font-family:"Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace, "Symbols Nerd Font"}div.ap-wrapper{outline:none;height:100%;display:flex;justify-content:center}div.ap-wrapper .title-bar{display:none;top:-78px;transition:top .15s linear;position:absolute;left:0;right:0;box-sizing:content-box;font-size:20px;line-height:1em;padding:15px;font-family:sans-serif;color:#fff;background-color:rgba(0,0,0,.8)}div.ap-wrapper .title-bar img{vertical-align:middle;height:48px;margin-right:16px}div.ap-wrapper .title-bar a{color:#fff;text-decoration:underline}div.ap-wrapper .title-bar a:hover{text-decoration:none}div.ap-wrapper:fullscreen{background-color:#000;width:100%;align-items:center}div.ap-wrapper:fullscreen .title-bar{display:initial}div.ap-wrapper:fullscreen.hud .title-bar{top:0}div.ap-wrapper div.ap-player{text-align:left;display:inline-block;padding:0;position:relative;box-sizing:content-box;overflow:hidden;max-width:100%;border-radius:4px;font-size:15px;background-color:var(--term-color-background)}.ap-player{--term-color-foreground:#ffffff;--term-color-background:#000000;--term-color-0:var(--term-color-foreground);--term-color-1:var(--term-color-foreground);--term-color-2:var(--term-color-foreground);--term-color-3:var(--term-color-foreground);--term-color-4:var(--term-color-foreground);--term-color-5:var(--term-color-foreground);--term-color-6:var(--term-color-foreground);--term-color-7:var(--term-color-foreground);--term-color-8:var(--term-color-0);--term-color-9:var(--term-color-1);--term-color-10:var(--term-color-2);--term-color-11:var(--term-color-3);--term-color-12:var(--term-color-4);--term-color-13:var(--term-color-5);--term-color-14:var(--term-color-6);--term-color-15:var(--term-color-7)}div.ap-term{position:relative;font-family:var(--term-font-family);border-width:.75em;border-radius:0;border-style:solid;border-color:var(--term-color-background);box-sizing:content-box}div.ap-term canvas{position:absolute;inset:0;display:block;width:100%;height:100%}div.ap-term svg.ap-term-symbols{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}div.ap-term svg.ap-term-symbols use{color:var(--term-color-foreground)}div.ap-term svg.ap-term-symbols:not(.ap-blink) .ap-blink{opacity:0}div.ap-term pre.ap-term-text{position:absolute;inset:0;box-sizing:content-box;overflow:hidden;padding:0;margin:0;display:block;white-space:pre;word-wrap:normal;word-break:normal;cursor:text;color:var(--term-color-foreground);outline:none;line-height:var(--term-line-height);font-family:inherit;font-size:inherit;font-variant-ligatures:none;border:0;border-radius:0;background-color:transparent!important}pre.ap-term-text .ap-line{display:block;width:100%;height:var(--term-line-height);position:absolute;top:calc(100% * var(--row)/var(--term-rows));letter-spacing:normal;overflow:hidden}pre.ap-term-text .ap-line span{position:absolute;left:calc(100% * var(--offset)/var(--term-cols));padding:0;display:inline-block;height:100%}pre.ap-term-text:not(.ap-blink) .ap-line .ap-blink{color:transparent;border-color:transparent}pre.ap-term-text .ap-bold{font-weight:700}pre.ap-term-text .ap-faint{opacity:.5}pre.ap-term-text .ap-underline{text-decoration:underline}pre.ap-term-text .ap-italic{font-style:italic}pre.ap-term-text .ap-strike{text-decoration:line-through}.ap-line span{color:var(--term-color-foreground)}div.ap-player div.ap-control-bar{width:100%;height:32px;display:flex;justify-content:space-between;align-items:stretch;color:var(--term-color-foreground);box-sizing:content-box;line-height:1;position:absolute;bottom:0;left:0;opacity:0;transition:opacity .15s linear;user-select:none;border-top:2px solid color-mix(in oklab,var(--term-color-background) 80%,var(--term-color-foreground));z-index:30}div.ap-player div.ap-control-bar *{box-sizing:inherit}div.ap-control-bar svg.ap-icon path{fill:var(--term-color-foreground)}div.ap-control-bar span.ap-button{display:flex;flex:none;cursor:pointer}div.ap-control-bar span.ap-playback-button{width:12px;height:12px;padding:10px;margin:0 0 0 2px}div.ap-control-bar span.ap-playback-button svg{height:12px;width:12px}div.ap-control-bar span.ap-timer{display:flex;flex:none;min-width:50px;margin:0 10px;height:100%;text-align:center;font-size:13px;line-height:100%;cursor:default}div.ap-control-bar span.ap-timer span{font-family:var(--term-font-family);font-size:inherit;font-weight:600;margin:auto}div.ap-control-bar span.ap-timer .ap-time-remaining{display:none}div.ap-control-bar span.ap-timer:hover .ap-time-elapsed{display:none}div.ap-control-bar span.ap-timer:hover .ap-time-remaining{display:flex}div.ap-control-bar .ap-progressbar{display:block;flex:auto;height:100%;padding:0 10px}div.ap-control-bar .ap-progressbar .ap-bar{display:block;position:relative;cursor:default;height:100%;font-size:0}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter{display:block;position:absolute;top:15px;left:0;right:0;height:3px}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter-empty{background-color:color-mix(in oklab,var(--term-color-foreground) 20%,var(--term-color-background))}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter-full{width:100%;transform-origin:left center;background-color:var(--term-color-foreground);border-radius:3px}div.ap-control-bar.ap-seekable .ap-progressbar .ap-bar{cursor:pointer}div.ap-control-bar .ap-fullscreen-button{width:14px;height:14px;padding:9px;margin:0 2px 0 4px}div.ap-control-bar .ap-fullscreen-button svg{width:14px;height:14px}div.ap-control-bar .ap-fullscreen-button svg.ap-icon-fullscreen-on{display:inline}div.ap-control-bar .ap-fullscreen-button svg.ap-icon-fullscreen-off{display:none}div.ap-control-bar .ap-fullscreen-button .ap-tooltip{right:5px;left:initial;transform:none}div.ap-control-bar .ap-kbd-button{height:14px;padding:9px;margin:0 0 0 4px}div.ap-control-bar .ap-kbd-button svg{width:26px;height:14px}div.ap-control-bar .ap-kbd-button .ap-tooltip{right:5px;left:initial;transform:none}div.ap-control-bar .ap-speaker-button{width:19px;padding:6px 9px;margin:0 0 0 4px;position:relative}div.ap-control-bar .ap-speaker-button svg{width:19px}div.ap-control-bar .ap-speaker-button .ap-tooltip{left:-50%;transform:none}div.ap-wrapper.ap-hud .ap-control-bar{opacity:1}div.ap-wrapper:fullscreen .ap-fullscreen-button svg.ap-icon-fullscreen-on{display:none}div.ap-wrapper:fullscreen .ap-fullscreen-button svg.ap-icon-fullscreen-off{display:inline}span.ap-progressbar span.ap-marker-container{display:block;top:0;bottom:0;width:21px;position:absolute;margin-left:-10px}span.ap-marker-container span.ap-marker{display:block;top:13px;bottom:12px;left:7px;right:7px;background-color:color-mix(in oklab,var(--term-color-foreground) 33%,var(--term-color-background));position:absolute;transition:top .1s,bottom .1s,left .1s,right .1s,background-color .1s;border-radius:50%}span.ap-marker-container span.ap-marker.ap-marker-past{background-color:var(--term-color-foreground)}span.ap-marker-container span.ap-marker:hover,span.ap-marker-container:hover span.ap-marker{background-color:var(--term-color-foreground);top:11px;bottom:10px;left:5px;right:5px}.ap-tooltip-container span.ap-tooltip{visibility:hidden;background-color:var(--term-color-foreground);color:var(--term-color-background);font-family:var(--term-font-family);font-weight:700;text-align:center;padding:0 .5em;border-radius:4px;position:absolute;z-index:1;white-space:nowrap;font-size:13px;line-height:2em;bottom:100%;left:50%;transform:translateX(-50%)}.ap-tooltip-container:hover span.ap-tooltip{visibility:visible}.ap-player .ap-overlay{z-index:10;background-repeat:no-repeat;background-position:50%;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.ap-player .ap-overlay-start{cursor:pointer}.ap-player .ap-overlay-start .ap-play-button{font-size:0;position:absolute;left:0;top:0;right:0;bottom:0;text-align:center;color:#fff;height:80px;max-height:66%;margin:auto}.ap-player .ap-overlay-start .ap-play-button div{height:100%}.ap-player .ap-overlay-start .ap-play-button div span{height:100%;display:block}.ap-player .ap-overlay-start .ap-play-button div span svg{height:100%;display:inline-block}.ap-player .ap-overlay-start .ap-play-button svg{filter:drop-shadow(0 0 5px rgba(0,0,0,.4))}.ap-player .ap-overlay-loading .ap-loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:10px solid;border-color:rgba(255,255,255,.3)rgba(255,255,255,.5)rgba(255,255,255,.7)#fff;border-color:color-mix(in srgb,var(--term-color-foreground) 30%,var(--term-color-background));box-sizing:border-box;animation:ap-loader-rotation 1s linear infinite}.ap-player .ap-overlay-info{background-color:var(--term-color-background)}.ap-player .ap-overlay-info span{font-family:var(--term-font-family);font-size:2em;color:var(--term-color-foreground)}.ap-player .ap-overlay-help{background-color:rgba(0,0,0,.8);container-type:inline-size}.ap-player .ap-overlay-help>div{font-family:var(--term-font-family);max-width:85%;max-height:85%;font-size:18px;color:var(--term-color-foreground);box-sizing:border-box;margin-bottom:32px}.ap-player .ap-overlay-help>div div{padding:calc(min(4cqw,40px));font-size:calc(min(1.9cqw,18px));background-color:var(--term-color-background);border:1px solid color-mix(in oklab,var(--term-color-background) 90%,var(--term-color-foreground));border-radius:6px}.ap-player .ap-overlay-help>div div p{font-weight:700;margin:0 0 2em}.ap-player .ap-overlay-help>div div ul{list-style:none;padding:0}.ap-player .ap-overlay-help>div div ul li{margin:0 0 .75em}.ap-player .ap-overlay-help>div div kbd{color:var(--term-color-background);background-color:var(--term-color-foreground);padding:.2em .5em;border-radius:.2em;font-family:inherit;font-size:.85em;border:none;margin:0}.ap-player .ap-overlay-error span{font-size:8em}.ap-player .slide-enter-active{transition:opacity .2s}.ap-player .slide-enter-active.ap-was-playing{transition:top .2s ease-out,opacity .2s}.ap-player .slide-exit-active{transition:top .2s ease-in,opacity .2s}.ap-player .slide-enter{top:-50%;opacity:0}.ap-player .slide-enter-to{top:0%}.ap-player .slide-enter,.ap-player .slide-enter-to,.ap-player .slide-exit,.ap-player .slide-exit-to{bottom:auto;height:100%}.ap-player .slide-exit{top:0%}.ap-player .slide-exit-to{top:-50%;opacity:0}@keyframes ap-loader-rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.asciinema-player-theme-asciinema{--term-color-foreground:#cccccc;--term-color-background:#121314;--term-color-0:hsl(0, 0%, 0%);--term-color-1:hsl(343, 70%, 55%);--term-color-2:hsl(103, 70%, 44%);--term-color-3:hsl(43, 70%, 55%);--term-color-4:hsl(193, 70%, 49.5%);--term-color-5:hsl(283, 70%, 60.5%);--term-color-6:hsl(163, 70%, 60.5%);--term-color-7:hsl(0, 0%, 85%);--term-color-8:hsl(0, 0%, 30%);--term-color-9:hsl(343, 70%, 55%);--term-color-10:hsl(103, 70%, 44%);--term-color-11:hsl(43, 70%, 55%);--term-color-12:hsl(193, 70%, 49.5%);--term-color-13:hsl(283, 70%, 60.5%);--term-color-14:hsl(163, 70%, 60.5%);--term-color-15:hsl(0, 0%, 100%)}.asciinema-player-theme-dracula{--term-color-foreground:#f8f8f2;--term-color-background:#282a36;--term-color-0:#21222c;--term-color-1:#ff5555;--term-color-2:#50fa7b;--term-color-3:#f1fa8c;--term-color-4:#bd93f9;--term-color-5:#ff79c6;--term-color-6:#8be9fd;--term-color-7:#f8f8f2;--term-color-8:#6272a4;--term-color-9:#ff6e6e;--term-color-10:#69ff94;--term-color-11:#ffffa5;--term-color-12:#d6acff;--term-color-13:#ff92df;--term-color-14:#a4ffff;--term-color-15:#ffffff}.asciinema-player-theme-monokai{--term-color-foreground:#f8f8f2;--term-color-background:#272822;--term-color-0:#272822;--term-color-1:#f92672;--term-color-2:#a6e22e;--term-color-3:#f4bf75;--term-color-4:#66d9ef;--term-color-5:#ae81ff;--term-color-6:#a1efe4;--term-color-7:#f8f8f2;--term-color-8:#75715e;--term-color-15:#f9f8f5}.asciinema-player-theme-nord{--term-color-foreground:#eceff4;--term-color-background:#2e3440;--term-color-0:#3b4252;--term-color-1:#bf616a;--term-color-2:#a3be8c;--term-color-3:#ebcb8b;--term-color-4:#81a1c1;--term-color-5:#b48ead;--term-color-6:#88c0d0;--term-color-7:#eceff4}.asciinema-player-theme-seti{--term-color-foreground:#cacecd;--term-color-background:#111213;--term-color-0:#323232;--term-color-1:#c22832;--term-color-2:#8ec43d;--term-color-3:#e0c64f;--term-color-4:#43a5d5;--term-color-5:#8b57b5;--term-color-6:#8ec43d;--term-color-7:#eeeeee;--term-color-15:#ffffff}.asciinema-player-theme-solarized-dark{--term-color-foreground:#839496;--term-color-background:#002b36;--term-color-0:#073642;--term-color-1:#dc322f;--term-color-2:#859900;--term-color-3:#b58900;--term-color-4:#268bd2;--term-color-5:#d33682;--term-color-6:#2aa198;--term-color-7:#eee8d5;--term-color-8:#002b36;--term-color-9:#cb4b16;--term-color-10:#586e75;--term-color-11:#657b83;--term-color-12:#839496;--term-color-13:#6c71c4;--term-color-14:#93a1a1;--term-color-15:#fdf6e3}.asciinema-player-theme-solarized-light{--term-color-foreground:#657b83;--term-color-background:#fdf6e3;--term-color-0:#073642;--term-color-1:#dc322f;--term-color-2:#859900;--term-color-3:#b58900;--term-color-4:#268bd2;--term-color-5:#d33682;--term-color-6:#2aa198;--term-color-7:#eee8d5;--term-color-8:#002b36;--term-color-9:#cb4b16;--term-color-10:#586e75;--term-color-11:#657c83;--term-color-12:#839496;--term-color-13:#6c71c4;--term-color-14:#93a1a1;--term-color-15:#fdf6e3}.asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-fill{fill:var(--term-color-1)}.asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-stroke{stroke:var(--term-color-1)}.asciinema-player-theme-tango{--term-color-foreground:#cccccc;--term-color-background:#121314;--term-color-0:#000000;--term-color-1:#cc0000;--term-color-2:#4e9a06;--term-color-3:#c4a000;--term-color-4:#3465a4;--term-color-5:#75507b;--term-color-6:#06989a;--term-color-7:#d3d7cf;--term-color-8:#555753;--term-color-9:#ef2929;--term-color-10:#8ae234;--term-color-11:#fce94f;--term-color-12:#729fcf;--term-color-13:#ad7fa8;--term-color-14:#34e2e2;--term-color-15:#eeeeec}.asciinema-player-theme-gruvbox-dark{--term-color-foreground:#fbf1c7;--term-color-background:#282828;--term-color-0:#282828;--term-color-1:#cc241d;--term-color-2:#98971a;--term-color-3:#d79921;--term-color-4:#458588;--term-color-5:#b16286;--term-color-6:#689d6a;--term-color-7:#a89984;--term-color-8:#7c6f65;--term-color-9:#fb4934;--term-color-10:#b8bb26;--term-color-11:#fabd2f;--term-color-12:#83a598;--term-color-13:#d3869b;--term-color-14:#8ec07c;--term-color-15:#fbf1c7}::-webkit-scrollbar{width:8px;height:8px;background:#0a0f13}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#e8eef2}html{background:#070707;font-feature-settings:normal;font-kerning:auto;font-optical-sizing:auto;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.024px;scroll-behavior:smooth}h1{letter-spacing:-.001em;font-size:43px;font-style:normal;font-weight:530;line-height:38px}h2{letter-spacing:.024px;font-size:35px;line-height:42px;font-style:normal;font-weight:530}body,button,input,select,textarea{color:#e8eef2;font-family:DM Sans,-apple-system,BlinkMacSystemFont,segoe ui,Candara,lucida grande,lucida sans unicode,lucida sans,Tahoma,sans-serif}pre,code,pre tt{font-family:DM Mono,Consolas,andale mono wt,andale mono,Menlo,Monaco,lucida console,lucida sans typewriter,dejavu sans mono,bitstream vera sans mono,liberation mono,nimbus mono l,courier new,Courier,yahei consolas hybrid,monospace,segoe ui emoji,pingfang sc,microsoft yahei}pre{padding:.7em 1.1em;overflow:auto;font-size:.9em;line-height:1.5;letter-spacing:normal;white-space:pre;color:#eee;background:#0a0f13;border-radius:4px}pre code{padding:0;margin:0;background:#0a0f13}code{color:#eee;background:#46484d;border-radius:3px;padding:0 3px;margin:0 4px;word-wrap:break-word;letter-spacing:normal}blockquote{border-left:.25em solid;margin:1em;padding:0 1em;font-style:italic}blockquote cite{font-weight:700;font-style:normal}blockquote cite::before{content:"—— "}a{color:#e8eef2;text-decoration:none;border:none;transition-property:color;transition-duration:.4s;transition-timing-function:ease-out}a:hover{color:#fff;text-shadow:0 0 1px #fff}hr{opacity:.2;border-width:0 0 5px;border-style:dashed;background:0 0;width:50%;margin:1.8em auto}table{border-collapse:collapse;border-spacing:0;empty-cells:show;width:auto;max-width:100%}table th,table td{padding:5px;border:1px dotted}table th{font-weight:700;vertical-align:bottom;white-space:nowrap;background-color:#5189d8;color:#dfdfdf}.section-inner{margin:0 auto;max-width:1200px;width:93%}.thin{max-width:720px;margin:auto}.feather{display:inline-block;vertical-align:-.125em;width:1em;height:1em}.sub-menu{font-size:.7em}.desktop-only,.desktop-only-ib{display:none}.highlight{position:relative}.highlight pre{padding-right:75px}.highlight-copy-btn{position:absolute;bottom:7px;right:7px;border:0;border-radius:4px;padding:1px;font-size:.7em;line-height:1.8;color:#fff;background-color:#777;opacity:.6;min-width:55px;text-align:center}.highlight-copy-btn:hover{background-color:#666}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#site-header{position:fixed;z-index:1;bottom:0;width:100%;box-sizing:border-box;box-shadow:-1px -2px 3px rgba(0,0,0,.45);background-color:#070707;animation-duration:.3s}.hdr-wrapper{display:flex;justify-content:space-between;align-items:center;padding:.6em}.hdr-wrapper .site-branding{display:inline-block}.hdr-wrapper .site-branding a img{height:28px;padding:0;margin:0;border-radius:50%}.hdr-wrapper .hdr-left{white-space:nowrap}.hdr-wrapper .hdr-right{font-size:8px;white-space:nowrap}.hdr-wrapper .site-nav{display:inline-block;margin-top:-16px;vertical-align:middle}.hdr-wrapper .site-nav a{margin-left:.5em;font-size:15px}.hdr-icons{font-size:1.2em}.hdr-social{display:inline-block;margin-left:.6em}.hdr-social>a{margin-left:.4em}.hdr-btn{border:none;background:0 0;padding:0;margin-left:.4em;cursor:pointer}#menu-btn{display:none;margin-left:.6em;cursor:pointer}#mobile-menu{position:fixed;bottom:4.8em;right:1.5em;display:none;padding:.6em 1.8em;z-index:1;box-sizing:border-box;box-shadow:-1px -2px 3px rgba(0,0,0,.45);background-color:#070707}#mobile-menu ul{list-style:none;margin:0;padding:0;line-height:2;font-size:1.2em}#site-footer{text-align:center;font-size:.9em;margin-bottom:96px;margin-top:64px}#site-footer p{margin:0}#spotlight{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;max-width:93%;margin:auto;font-size:1.5rem}#spotlight.error-404{flex-direction:row;line-height:normal}p.img-404{margin:0}p.img-404 svg{width:180px;max-width:100%;height:auto}.banner-404{margin-left:2em}.banner-404 h1{font-size:3em;margin:.5rem 0}.banner-404 p{margin-top:0}.banner-404 .btn-404{font-size:.8em}.banner-404 .btn-404 a{display:inline-block;border:2px solid #e8eef2;border-radius:5px;padding:5px;transition-property:color,border-color}.banner-404 .btn-404 a:first-child{margin-right:1em}.banner-404 .btn-404 a:hover{border-color:#fff}.banner-404 .btn-404 a svg{margin-right:.5em}#home-center{display:flex;flex-grow:1;flex-direction:column;justify-content:center}#home-title{margin:0;text-align:center;color:#5e9ff9;font-size:1.5em}#home-subtitle{margin-top:0;margin-bottom:1.5em;text-align:center;line-height:normal;font-size:.7em;font-style:italic;opacity:.9}#home-social{font-size:1.4em;text-align:center;opacity:.8}#home-social a{margin:0 .2em}#home-nav{opacity:.8}#home-nav a{display:block;text-align:center;margin-top:.5em}#home-footer{text-align:center;font-size:.6em;line-height:normal;opacity:.6}#home-footer p{margin-top:0}.posts-group{display:flex;margin-bottom:1.9em;line-height:normal}.posts-group .post-year{padding-top:6px;margin-right:1.8em;font-size:1.6em;white-space:nowrap;opacity:.6}.posts-group .post-year:hover{text-decoration:none;cursor:hand}.posts-group .post-year .year-count{display:inline;font-size:10px}.posts-group .posts-list{flex-grow:1;margin:0;padding:0;list-style:none}.posts-group .posts-list small{color:rgba(128,128,128,.37)}.posts-group .post-item{border-bottom:1px #46484d dashed}.posts-group .post-item a{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0}.posts-group .project-item{border-bottom:1px #46484d dotted}.posts-group .project-item a{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0}.posts-group .post-day{flex-shrink:0;margin-left:1em;opacity:.6}.bg-img{width:100vw;height:100vh;opacity:.03;z-index:-1;position:fixed;top:0;background-attachment:fixed;background-repeat:no-repeat;background-size:cover;background-position:50%;transition:opacity .5s}.show-bg-img{z-index:100;opacity:1;cursor:pointer}.post-header{margin-top:1.2em;line-height:normal}.post-header .post-meta{font-size:.9em;letter-spacing:normal;opacity:.6}.post-header h1{margin-top:.1em}hr.post-end{width:50%;margin-top:1.6em;margin-bottom:.8em;margin-left:0;border-style:solid;border-bottom-width:4px}.content a{word-wrap:break-word;border:none;transition-property:box-shadow;transition-duration:.1s;color:#5e9ff9}.content a:hover{color:#e8eef2}.content figure{max-width:100%;height:auto;margin:0;text-align:center}.content figure p{font-size:.8em;font-style:italic;opacity:.6}.content figure.left{float:left;margin-right:1.5em;max-width:50%}.content figure.right{float:right;margin-left:1.5em;max-width:50%}.content figure.big{max-width:100vw}.content img{display:block;max-width:100%;max-height:100vh;width:auto;height:auto;margin:auto;border-radius:4px;object-fit:contain}.content img.big{max-width:100%;width:auto}.content img[data-zoomable]{cursor:zoom-in}.content img[data-zoomable].medium-zoom-image--opened{cursor:zoom-out}.content ul,.content ol{padding:0;margin-left:1.8em}.content a.anchor{float:left;margin-left:-20px;padding-right:6px;box-shadow:none;opacity:.8}.content a.anchor:hover{background:0 0;color:#5e9ff9;opacity:1}.content a.anchor svg{display:inline-block;width:14px;height:14px;vertical-align:baseline;visibility:hidden}.content a.anchor:focus svg{visibility:visible}.content h1:hover a.anchor svg,.content h2:hover a.anchor svg,.content h3:hover a.anchor svg,.content h4:hover a.anchor svg,.content h5:hover a.anchor svg,.content h6:hover a.anchor svg{visibility:visible}.footnotes{font-size:.85em}.footnotes a{box-shadow:none;text-decoration:underline;transition-property:color}.footnotes a:hover{background:0 0}.footnotes a.footnote-backref{text-decoration:none}.footnotes ol{line-height:1.8}a.footnote-ref{box-shadow:none;text-decoration:none;padding:2px;border-radius:2px;background-color:#0a0f13}a.footnote-ref:hover{box-shadow:none;background-color:#5e9ff9;transition-property:background-color}.post-info{font-size:.8rem;line-height:normal;opacity:.6}.post-info p{margin:.8em 0}.post-info a:hover{border-bottom:1px solid #5e9ff9}.post-info svg{margin-right:.8em}.post-info .tag{margin-right:.5em}.post-info .tag::before{content:"#"}#toc{position:fixed;right:2em;top:0;display:none;border-radius:4px;max-height:calc(100vh - 8em);overflow-y:auto;border:1px solid #46484d}.toc-title{margin-bottom:.5em;font-size:.8em;font-weight:700}#TableOfContents{margin-top:.5em;font-size:.8rem}#TableOfContents ul{margin-bottom:0;padding-left:0;list-style:square}#TableOfContents ul ul{margin-left:1.2em;list-style:circle}.post-nav{display:flex;justify-content:space-between;margin-top:1.5em;margin-bottom:2.5em;font-size:1.2em}.post-nav a{flex-basis:50%;flex-grow:1}.post-nav .next-post{text-align:left;padding-right:5px}.post-nav .prev-post{text-align:right;padding-left:5px}.post-nav .post-nav-label{font-size:.8em;opacity:.8;text-transform:uppercase}.related-posts{margin-top:1.5em;font-size:.8rem}.related-posts h2{margin:0;line-height:normal}.related-posts ul{margin-top:.5em;margin-bottom:0;padding-left:0;margin-left:0;list-style:square}.toc{margin-top:1.5em;font-size:.8rem}.toc h2{margin:0;line-height:normal}.mid{display:none}.not-mid{display:inline-block}.site-main{margin-top:2em}@media(min-width:800px){hr.post-end{width:40%}.mid{display:inline-block}.not-mid{display:none}}@media(min-width:1300px){#toc{display:block}.desktop-only-ib{display:inline-block}figure.left{margin-left:-240px}figure.left p{text-align:left}figure.right{margin-right:-240px}figure.right p{text-align:right}figure.big{width:1200px;margin-left:-240px}hr.post-end{width:30%}#toc{top:2em;right:2em;max-width:220px}}@media(min-width:1800px){.section-inner{max-width:1600px}.thin{max-width:960px}figure.left{max-width:75%;margin-left:-320px}figure.right{max-width:75%;margin-right:-320px}figure.big{width:1600px;margin-left:-320px}hr.post-end{width:30%}#toc{top:2em;right:2em;max-width:300px}}@media(max-width:760px){.hide-in-mobile,.site-nav.hide-in-mobile{display:none}#menu-btn{display:inline-block}.posts-group{display:block}.posts-group .post-year{margin:-6px 0 4px}#spotlight.error-404{flex-direction:column;text-align:center}#spotlight.error-404 .banner-404{margin:0}}@media(max-width:520px){.content figure.left,.content figure.right{float:unset;max-width:100%;margin:0}hr.post-end{width:60%}#mobile-menu{right:1.2em}}.svgicons{display:block;height:60px}.svgicons p img{height:50px;float:left;padding:5px}footer .smallprint{font-size:10px;font-variant:small-caps}.ascii-art{font-size:10px}a.icon img{height:13px;width:13px;display:inline-block}.video-shortcode{display:block;max-width:100%;height:auto;margin:auto;border-radius:4px}.project-category{border-bottom:1px #46484d dashed}.project-li{display:block;margin:0;padding-bottom:2px}.project-li img{width:25px;height:25px;position:absolute}.project-li h3{margin:0;padding:0}.project-li div{padding-left:35px;text-align:left;vertical-align:top}.project-li p{vertical-align:top;margin-top:0}ul.courses{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}ul.courses li{flex:0 0 100%;height:250px;margin:10px;box-sizing:border-box;border:1px solid #46484d;display:flex;align-items:center;justify-content:center;position:relative;font-weight:700;border-radius:8px}ul.courses li a{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center}ul.courses li a img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:1;transform:scale(1);filter:saturate(70%);transition:transform .6s ease,filter .6s ease,opacity .6s ease}ul.courses li a:hover img,ul.courses li a:focus-visible img{transform:scale(1.06);filter:saturate(110%)brightness(1.05)}ul.courses li a span{background-color:#46484d;position:absolute;display:flex;bottom:0;text-align:center;justify-content:center;align-items:flex-end;padding:1em;border-radius:8px;margin-bottom:1em;opacity:.9;box-shadow:inset 0 0 0 1px rgba(255,255,255,5%),0 2px 4px -2px rgba(0,0,0,.5);transition:background-color .4s ease,transform .4s ease,box-shadow .35s ease}ul.courses li a:hover span,ul.courses li a:focus-visible span{background-color:#595c62;transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,255,255,8%),0 4px 8px -4px rgba(0,0,0,.6)}.post-date{font-family:DM Mono,Consolas,andale mono wt,andale mono,Menlo,Monaco,lucida console,lucida sans typewriter,dejavu sans mono,bitstream vera sans mono,liberation mono,nimbus mono l,courier new,Courier,yahei consolas hybrid,monospace,segoe ui emoji,pingfang sc,microsoft yahei}.single-layout{display:flex;align-items:flex-start;gap:2rem}.single-layout article.thin{flex:auto;max-width:none;min-width:0}.right-sidebar{flex:0 0 300px;max-width:300px;position:sticky;top:2em;align-self:flex-start}.right-sidebar .related-posts{margin-top:1rem}@media(max-width:1100px){.single-layout{display:block}.single-layout article.thin{max-width:720px;margin:auto}.right-sidebar{position:static;max-width:none;flex:unset;margin-top:2rem}}