@import url(fruity.css);html,html[data-theme="light"]{--color-bg-main: #FFFFFF;--color-bg-sub: #FAFAFC;--color-text-main: #282832;--color-text-sub: #5D5D67;--color-text-link: #2380ED;--color-border-dark: #363636;--color-border: #BABCBD;--color-border-light: #E5E5E5}html[data-theme="dark"]{--color-bg-main: #262626;--color-bg-sub: #18181C;--color-text-main: #FAFAFC;--color-text-sub: #FFFEFF;--color-text-link: #6D9EFF;--color-border-dark: #E6E6E6;--color-border: #696969;--color-border-light: #353535}@media (prefers-color-scheme: dark){html,html[data-theme="dark"]{--color-bg-main: #262626;--color-bg-sub: #18181C;--color-text-main: #FAFAFC;--color-text-sub: #FFFEFF;--color-text-link: #6D9EFF;--color-border-dark: #E6E6E6;--color-border: #696969;--color-border-light: #353535}html[data-theme="light"]{--color-bg-main: #FFFFFF;--color-bg-sub: #FAFAFC;--color-text-main: #282832;--color-text-sub: #5D5D67;--color-text-link: #2380ED;--color-border-dark: #363636;--color-border: #BABCBD;--color-border-light: #E5E5E5}}:root{--text-xs: clamp(0.70rem, calc(0.79rem + -0.06vw), 0.78rem);--text-s: clamp(0.94rem, calc(0.94rem + 0.00vw), 0.94rem);--text-m: clamp(1.13rem, calc(1.11rem + 0.09vw), 1.25rem);--text-l: clamp(1.35rem, calc(1.30rem + 0.23vw), 1.67rem);--text-xl: clamp(1.62rem, calc(1.53rem + 0.43vw), 2.22rem);--text-xxl: clamp(1.94rem, calc(1.80rem + 0.73vw), 2.96rem);--text-jumbo: clamp(2.33rem, calc(2.10rem + 1.15vw), 4rem);--text-weight-bold: 600;--text-weight-normal: 400;--text-leading-wide: 1.6em;--text-leading-normal: 1.4em;--text-leading-narrow: 1.2em;--padding-normal: 1.2rem;--padding-broad: 2rem;--padding-thin: 0.8rem}.jumbo{font-size:var(--text-jumbo);font-weight:var(--text-weight-normal);line-height:var(--text-leading-narrow);padding-bottom:0}h1{font-size:var(--text-xxl);line-height:var(--text-leading-narrow);font-weight:var(--text-weight-normal);padding:var(--padding-normal) 0}h2{font-size:var(--text-xl);line-height:var(--text-leading-normal);font-weight:var(--text-weight-bold);padding:var(--padding-normal) 0}h3{font-size:var(--text-xl);line-height:var(--text-leading-normal);font-weight:var(--text-weight-normal);padding:var(--padding-normal) 0}h4{font-size:var(--text-l);line-height:var(--text-leading-wide);font-weight:var(--text-weight-bold);padding:var(--padding-thin) 0}h5{font-size:var(--text-l);line-height:var(--text-leading-wide);font-weight:var(--text-weight-normal);padding:var(--padding-thin) 0}h6{font-size:var(--text-m);line-height:var(--text-leading-normal);font-weight:var(--text-weight-bold);padding:var(--padding-thin) 0}p{font-size:var(--text-m);line-height:var(--text-leading-normal);font-weight:var(--text-weight-normal);margin:0 0 1em 0}code{font-size:var(--text-m);font-weight:var(--text-leading-normal);padding:0.25em 0.5em 0.25em}h1,h2,h3,h4,h5,h6{margin:0;font-family:'IBM Plex Sans', sans-serif}p a,ul a,li a,td a,th a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a,span a,div a,ol a,blockquote a,cite a{font-size:inherit;font-family:inherit}b,strong{font-weight:600}html{scroll-behavior:smooth}body{counter-reset:sidenote-counter}.section{padding-top:var(--padding-broad)}header{display:flex;flex-direction:column}main{min-height:300px}.buttons.for-back-home:not(:last-child){margin-left:0}.navbar-item.navbar-dark-mode__mobile{flex-grow:1;justify-content:flex-end}.meta-title{font-size:var(--text-xs);font-weight:var(--text-weight-bold);text-transform:uppercase;color:var(--color-text-sub);letter-spacing:0.2em;padding:0}.meta-title a{color:var(--color-text-link)}.meta-title h5{padding:0}.centre-title{text-align:center;padding:var(--padding-normal)}.excerpt{color:var(--color-text-main) !important;margin:0;font-size:var(--text-s) !important}.related{width:100%;min-height:100px;border-radius:10px}.related h4{color:var(--color-text-sub);padding-left:10px}.related-wrapper{column-count:2 !important;display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:1rem 2rem}.related-group{width:95% !important;height:100%;cursor:pointer;background-color:var(--color-bg-main);padding:16px;border-bottom:1px solid var(--color-border)}.related-group:hover{border-bottom:1px solid var(--color-text-link);background-color:var(--color-bg-sub)}.related-group a{text-decoration:none}.related-group a:hover{text-decoration:none;color:var(--color-text-link)}.related-title{padding-left:10px;padding-right:10px}ul ul{list-style-type:disc}.notelist-wrapper{column-count:2 !important;display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:10px}.notelist-feed{color:var(--color-text-main);display:block;padding:1rem;border-bottom:1px solid var(--color-border-light)}.notelist-feed:hover{color:var(--color-text-main);display:block;padding:1rem;border-bottom:1px solid var(--color-text-link);background-color:var(--color-bg-sub)}.notelist-feed a{color:var(--color-text-main)}.notelist-feed a:hover{color:var(--color-text-link)}.related-group h6,.notelist-feed h6{padding:0.4rem 0 !important}.list-feed{color:var(--color-text-main);display:block;padding:0.5rem;border-bottom:1px solid var(--color-border-light)}.list-feed:hover{display:block;border-bottom:1px solid var(--color-text-link);background-color:var(--color-bg-sub)}.list-feed a{color:var(--color-text-main)}.list-feed a:hover{color:var(--color-text-link)}img{max-width:100%;height:auto}code{font-family:Consolas, 'Courier New', Courier, monospace;display:inline-block;overflow:auto !important;word-wrap:break-word !important;padding:2px 2px 2px 2px;vertical-align:middle;padding:2px 2px 2px 2px;border:1px solid var(--secondary-border-color);border-radius:4px}.regular-sans code{padding:20px;background-color:var(--color-bg-main);border-radius:5px;border:none}.serif code{padding:20px;background-color:var(--color-bg-main);border-radius:5px;border:none}pre code{font-family:Consolas, 'Courier New', Courier, monospace;display:inline-block;overflow:auto !important;word-wrap:break-word !important;padding:15px 15px 15px 15px;vertical-align:middle;font-size:1em}blockquote:before{display:none}blockquote{padding:10px}summary{display:flex;align-items:center;outline:none}cite{padding-left:50px;font-style:oblique}blockquote p{font-family:inherit;font-size:var(--text-weight-normal);margin:0 !important}table{border-radius:5px}th,td{color:var(--color-text-main);padding:8px;text-align:left;font-size:12px}td{font-size:14px}td a{color:inherit;text-decoration:none}table th{font-weight:600}tr{border-radius:5px}thead tr:nth-child(odd){background-color:var(--color-bg-main)}tbody tr:nth-child(even){background-color:var(--color-bg-main)}hr{background-color:var(--color-border-light);border:0 none;height:1px;margin-top:2rem 0 0 0}.site-heading-rtl{border-bottom:2px solid var(--primary-border-color);display:flex;flex-direction:column;align-items:flex-end;justify-content:space-around}.site-heading-rtl>.main-page-heading{color:var(--color-text-main);font-family:var(--primary-font-family);font-weight:600;margin-right:20px}.site-heading-rtl>.main-page-tagline{color:var(--color-text-sub);font-family:var(--primary-font-family);font-size:0.7rem;font-weight:600;margin-right:20px;margin-top:-25px}.site-heading-rtl>.main-page-subheading{color:var(--color-text-main);font-family:var(--primary-font-family);font-weight:600;font-size:17.3px !important;margin-top:-8px;margin-right:20px}.site-heading-rtl a{text-decoration:none}.site-heading-ltr{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-around}.site-heading-ltr>.main-page-heading{color:var(--color-text-main);font-family:var(--primary-font-family);font-weight:600;margin-left:20px}.site-heading-ltr>.main-page-tagline{color:var(--color-text-sub);font-family:var(--primary-font-family);font-size:0.7rem;font-weight:600;margin-left:20px;margin-top:-25px}.site-heading-ltr>.main-page-subheading{color:var(--color-text-main);font-family:var(--primary-font-family);font-weight:600;font-size:17.3px !important;margin-top:-8px;margin-left:20px}.site-heading-ltr a{text-decoration:none}.link-to-notes{padding-left:20px;margin-top:-12px;padding-bottom:8px}.link-to-notes a{color:var(--color-text-link);text-decoration:none;font-family:var(--primary-font-family);font-size:13px;margin-left:-3px}.link-to-notes a:hover{text-decoration:underline}.link-to-notes a,.link-to-notes svg{vertical-align:middle;display:inline-block}.anchor-link{stroke:var(--color-text-link) !important}.menu{display:flex;flex-direction:row;align-items:center}.menu-item:nth-of-type(1){padding-left:5px !important}.menu-item{flex-basis:auto;border-right:1px solid var(--primary-border-color);display:flex;flex-direction:column;padding-left:14px;padding-right:17px;padding-top:5px;padding-bottom:5px;text-decoration:none}.menu-item-icon{margin-top:7px;align-self:center;justify-self:center;stroke:var(--color-text-main)}.menu-item-text{margin-top:5px;margin-left:auto;font-weight:600;font-size:0.7rem;font-family:var(--primary-font-family);color:var(--color-text-main)}.stale-link{background-color:var(--color-border-light);color:var(--color-text-sub) !important}#markdown-toc::before{content:"Contents";font-weight:bold;text-align:center}#markdown-toc li{margin-left:1rem;list-style:decimal}#markdown-toc li *{padding-left:3px}#markdown-toc{padding:1.5em;list-style:decimal;display:inline-block;background:var(--color-bg-main);width:100%;margin:0}#markdown-toc a{text-decoration:none}#markdown-toc a:hover{text-decoration:underline}.searchbar input[type="text"]{position:relative;padding-left:50px;box-sizing:border-box;width:100%;height:40px;border:0px;font-family:var(--secondary-font-family) !important;color:var(--color-text-main);font-size:18px;border-bottom:1px solid var(--primary-border-color);background-color:var(--color-bg-main)}::placeholder{color:var(--color-bg-main);font-size:18px;font-family:var(--secondary-font-family) !important}.search-icon{position:absolute;vertical-align:middle;margin-top:-2px;padding-left:20px;stroke:var(--color-text-sub) !important;padding-top:12.5px;z-index:1}.search-shortcut{position:absolute;margin-top:-2px;padding-top:12.5px;z-index:1;right:0px !important;padding-right:20px}.search-shortcut kbd:first-child,.search-shortcut kbd:nth-child(2){vertical-align:middle;display:inline-block;color:var(--color-text-sub);font-size:1em;border-radius:0.2em;padding:0.1em 0.3em;box-shadow:0 0px 8px var(--card-drop-shadow)}.searchbar input[type="text"]:focus{border-color:var(--primary-border-color);box-shadow:0 0 8px 0 var(--sborder)}.searchbar input[type=text]:hover{background-color:var(--color-bg-main)}.searchbar input[type=text]:active,.searchbar input[type=text]:focus{background-color:var(-sub);outline:none}.search_res:hover{background-color:var(--color-bg-main)}.search_res:hover>a{font-weight:600}.search-results{position:inherit;left:0;display:none;width:100%;max-height:500px;overflow-y:auto;background-color:var(--color-bg-sub);border-bottom-right-radius:4px;border-bottom-left-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,0.12),0 3px 10px rgba(0,0,0,0.08)}.search-result-title{display:block;padding-top:0.5rem;padding-bottom:0.5rem}.search-results-list{padding-left:0;margin-bottom:0.25rem;list-style:none;font-size:14px !important}.search-results-list-item{padding:0;margin:0}.search-result{display:block;padding-top:0.25rem;padding-right:0.75rem;padding-bottom:0.25rem;padding-left:20px;text-decoration:none !important}.search-result:hover,.search-result.active{background-color:var(--color-bg-main)}.search-result:hover>.search-result-title,.search-result.active>.search-result-title{font-weight:600}.svg-doc{padding-right:2px;stroke:var(--color-text-sub) !important}.search-result:hover>.svg-doc,.search-result.active>.svg-doc{stroke:#555 !important}.search-result-doc{display:flex;align-items:center;word-wrap:break-word}.search-result-doc.search-result-doc-parent{opacity:0.5;font-size:12px !important}.search-result-doc .search-result-icon{width:1rem;height:1rem;margin-right:0.5rem;color:#7253ed;flex-shrink:0}.search-result-doc .search-result-doc-title{padding-left:0.1rem;overflow:auto}.search-result-section{margin-left:1.5rem;word-wrap:break-word}.search-result-previews{display:block;padding-top:0.5rem;padding-bottom:0.5rem;padding-left:1rem;margin-left:0.5rem;word-wrap:break-word;border-left:1px solid;border-left-color:var(--secondary-border-color);font-size:11px !important}.search-result-preview span{color:var(--color-text-sub) !important}.search-result-preview+.search-result-preview{margin-top:0.25rem}.search-result-highlight{font-weight:bold}.search-no-result{padding-top:0.5rem;padding-right:0.75rem;padding-bottom:0.5rem;padding-left:0.75rem;font-family:var(--primary-font-family) !important;color:var(--color-text-main) !important}.search-overlay{position:fixed;top:0;left:0;z-index:1;width:0;height:0;background-color:rgba(0,0,0,0.3);opacity:0;transition:opacity ease 400ms, width 0s 400ms, height 0s 400ms}.search-active .search{position:fixed;top:0;left:0;width:100%;height:100%;padding:0}.search-active .search-input-wrap{height:4rem;border-radius:0}.search-active .search-results{display:block}.search-active .search-overlay{width:100%;height:100%;opacity:1;transition:opacity ease 400ms, width 0s, height 0s}.back-icon{background-color:var(--color-bg-main);fill:currentColor;color:var(--color-text-main);margin-top:5px;padding-left:5px;fill:currentColor;cursor:pointer}.back-icon,.back-p{vertical-align:middle;display:inline-block}.back-p{color:var(--color-text-main);text-decoration:none;cursor:pointer;font-weight:600}.feed-title-excerpt-block{width:100%;cursor:pointer;border-top:1px solid var(--primary-border-color);border-bottom:1px solid var(--primary-border-color)}.feed-title-excerpt-block:hover{background-color:var(--color-bg-main)}.srccode{position:absolute;right:10px}.srccode:hover>a>i{font-weight:600}.feed-title{color:var(--color-text-main);margin-left:20px;margin-right:50px;font-size:16.5px;font-family:var(--primary-font-family);font-weight:600}.feed-excerpt{color:var(--color-text-main);margin-top:-12px;margin-left:20px !important;margin-right:30px;font-family:var(--secondary-font-family);font-size:15px}.tags{list-style:none;margin:0;overflow:hidden;padding:0}.tags li{float:left}.tag{color:var(--color-text-main);background:var(--color-bg-main);text-decoration:none;display:inline-block;padding:0 12px;border-radius:32px;height:auto;vertical-align:middle;font-family:var(--primary-font-family);font-weight:normal !important;font-size:13px}.content a{color:var(--color-text-link);text-decoration:none}.content a:hover{text-decoration:underline}.sn-right,.mn-right{float:right;clear:right;font-family:var(--secondary-font-family) !important;font-size:14px;margin-right:-50%;width:30%;margin-top:0;margin-bottom:0;vertical-align:baseline;position:relative;padding-bottom:5px}.sn-left,.mn-left{float:left;clear:left;font-family:var(--secondary-font-family) !important;font-size:14px;margin-left:-50%;width:30%;margin-top:0;margin-bottom:0;vertical-align:baseline;position:relative;padding-bottom:5px}.sidenote-number{counter-increment:sidenote-counter}.sidenote-number:after,.sn-left:before,.sn-right:before{font-family:var(--secondary-font-family) !important;position:relative;vertical-align:baseline}.sidenote-number:after{content:counter(sidenote-counter);font-size:12px;top:-0.5rem;left:0.1rem}.sn-right:before,.sn-left:before{content:counter(sidenote-counter) " ";font-size:14px;top:-0.5rem}blockquote .sn-left,blockquote .mn-left{float:left;clear:left;margin-left:-58%;width:40%;text-align:left}li .sn-left,li .mn-left{float:left;clear:left;margin-left:-53%;width:40%;text-align:left}blockquote .sn-right,blockquote .mn-right{float:right;clear:right;margin-right:-59% !important;width:40%;text-align:left}li .sn-right,li .mn-right{float:right;clear:right;margin-right:-49% !important;width:40%;text-align:left}.tooltip{display:inline;position:relative;text-align:left}.tooltip bottom{display:none}.tooltip .right{min-width:20vw;top:50%;left:100%;margin-left:20px;transform:translate(0, -50%);padding:10px 20px;background-color:var(--color-bg-sub);font-size:1rem;position:absolute;z-index:99999999;display:none;line-height:var(--text-leading-narrow)}.tooltip:hover .right{display:block}.tooltip .right i{position:absolute;top:50%;right:100%;margin-top:-12px;width:12px;height:24px;overflow:hidden}.tooltip .right i::after{content:'';position:absolute;width:12px;height:12px;left:0;top:50%;transform:translate(50%, -50%) rotate(-45deg);background-color:var(--color-bg-sub);box-shadow:0 1px 8px var(--card-drop-shadow)}.right .tooltip-title{font-size:14px;font-weight:600;display:inline-block}.right .tooltip-excerpt{font-size:12px;display:inline-block}.right .tooltip-excerpt a{font-size:12px}input.margin-toggle{display:none}.srs-svg{stroke:var(--color-text-main)}label.sidenote-number{display:inline}label.margin-toggle:not(.sidenote-number){display:none}.spaced-rep{display:none}input.srs-toggle{display:none}label.srs-toggle{display:inline;cursor:pointer}.srs-toggle:checked+.spaced-rep{display:block !important;left:1rem;clear:both;margin:1rem 2.5%;vertical-align:baseline;position:relative;padding:12px;width:240px;background-color:var(--color-bg-sub);border:solid 1px var(--ternary-border-color);border-radius:5px;box-shadow:1px 1px 15px var(--card-drop-shadow);word-wrap:break-word}.scroll-to-top{position:fixed;bottom:20px;right:20px;border-radius:30px;background-color:transparent;background-repeat:no-repeat;cursor:pointer;color:var(--color-text-main);outline:none;border:none;overflow:hidden;font-size:18px}.context-menu-res{display:none;position:absolute;z-index:10;padding:12px 0;width:240px;background-color:var(--color-bg-sub);border:solid 1px var(--ternary-border-color);border-radius:5px;box-shadow:1px 1px 15px var(--card-drop-shadow)}.context-menu-res li{line-height:0.8rem;padding-left:0.2rem;padding-top:0.3rem;padding-bottom:0.3rem}.context-menu-res--active{display:block}.context-menu-res li:hover{color:var(--color-text-main);background-color:var(--color-bg-main)}.context-menu-res li:hover>.context-menu-res__link{font-weight:bold}.context-menu-res__link{color:var(--color-text-main);text-decoration:none}.context-menu{display:none;position:absolute;z-index:10;padding:12px 0;width:177px;background-color:var(--color-bg-sub);border:solid 1px var(--ternary-border-color);border-radius:5px;box-shadow:1px 1px 15px var(--card-drop-shadow)}.context-menu--active{display:block}.context-menu__items{list-style:none;margin:0;padding-left:6px;padding-right:6px}.context-menu__item{display:block;margin-bottom:4px}.context-menu__item:last-child{margin-bottom:0}.context-menu__link{display:block;padding:4px 12px;color:var(--color-text-main);text-decoration:none;font-size:12px;font-family:var(--primary-font-family) !important}.context-menu__link:hover{color:var(--color-text-main);background-color:var(--color-bg-main)}.popup{position:absolute;display:none}#copyright{margin:4rem 0 1rem 0}#copyright-notice{font-size:0.7rem;font-weight:var(--text-weight-normal);text-align:center}#disqus_thread{margin-left:20px;margin-right:10px}@media screen and (max-width: 1200px){.sn-right,.mn-right{margin-right:-50%;width:30%}.sn-left,.mn-left{margin-left:-35%;width:30%}blockquote .sn-left,blockquote .mn-left{margin-left:-51% !important;width:30% !important}li .sn-left,li .mn-left{margin-left:-43% !important;width:30% !important}blockquote .sn-right,blockquote .mn-right{margin-right:-56% !important;width:30% !important}li .sn-right,li .mn-right{margin-right:-41% !important;width:30% !important}.related-group{background-color:var(--color-bg-main) !important;margin-left:10px;width:90% !important;height:100%;cursor:pointer}}@media screen and (max-width: 1024px){.tooltip .right{display:none}.tooltip .bottom{min-width:300px;top:40px;left:50%;transform:translate(-50%, 0);padding:10px 20px;color:var(--color-text-main);background-color:var(--color-bg-sub);font-weight:normal;font-size:13px;border-radius:8px;position:absolute;z-index:99999999;box-sizing:border-box;box-shadow:0 1px 8px var(--card-drop-shadow);display:none}.tooltip:hover .bottom{display:block}.tooltip .bottom i{position:absolute;bottom:100%;left:50%;margin-left:-12px;width:24px;height:12px;overflow:hidden}.tooltip .bottom i::after{content:'';position:absolute;width:12px;height:12px;left:50%;transform:translate(-50%, 50%) rotate(45deg);background-color:var(--color-bg-sub);box-shadow:0 1px 8px var(--card-drop-shadow)}.bottom .tooltip-title{font-size:14px;font-weight:500;display:inline-block}.bottom .tooltip-excerpt{font-size:12px;display:inline-block}.bottom .tooltip-excerpt a{font-size:12px}}@media (pointer: coarse){.tooltip:hover .bottom,.tooltip:hover .right{display:none}.feed-context{padding:2px 10px 0px 10px;height:70px;right:0px;margin-top:15px}.search-shortcut{display:none}}@media screen and (max-width: 800px){.box{width:80%}label{cursor:pointer}label.margin-toggle:not(.sidenote-number){display:inline}.sn-left,.sn-right,.mn-left,.mn-right{display:none}.margin-toggle:checked+.sn-right,.margin-toggle:checked+.sn-left,.margin-toggle:checked+.mn-left,.margin-toggle:checked+.mn-right{display:block;float:left;left:1rem;clear:both;width:95%;margin:1rem 2.5%;vertical-align:baseline;position:relative}.sketch-left,.sketch-right{display:inline-block !important;float:left !important;left:1rem !important;clear:both !important;width:95% !important;margin:1rem 2.5% !important;vertical-align:baseline !important;position:relative !important;padding-bottom:10px}}@media screen and (max-width: 770px){.box{width:100%;max-width:100% !important;border-left:none !important;border-right:none !important}.related-wrapper{grid-template-columns:repeat(1, 1fr);grid-gap:0rem}}.work-meta{width:95% !important;height:100%;cursor:pointer;background-color:var(--color-bg-main);padding-bottom:2rem}.work-credit{color:var(--color-text-sub) !important;margin:0;font-size:var(--text-s) !important}li{padding-bottom:var(--padding-thin)}a[href^="http"]{background-image:url(../img/external-link.svg);background-repeat:no-repeat;background-position:right;padding-right:1.3rem}.home-sub-text{padding-top:2rem;color:var(--color-text-sub)}.home-sub-text a{color:var(--color-text-link)}.home-sub-text a:hover{color:var(--color-text-link);text-decoration:underline}.home-wrapper{display:flex;flex-direction:column}.home-image{display:flex;flex-direction:column;padding-top:4rem}.home-image img{opacity:80%}.home-image-meta{display:flex;justify-content:space-between}.home-image-meta-text{font-size:var(--text-s);color:var(--color-text-sub);padding-top:var(--padding-thin)}.home-intro{padding:5% 10%}@media screen and (max-width: 320px){.home-intro{padding:0}.home-image{padding-top:2rem}}

