@font-face{font-family:et;src:url(https://fonts.iono.me/fonts/tufte-woff2/et-book-roman-line-figures.woff2)format("woff2"),url(https://fonts.iono.me/fonts/tufte-woff2/et-book-roman-old-style-figures.woff2)format("woff2");font-display:swap}@font-face{font-family:aileron;src:url(https://fonts.iono.me/fonts/aileron-woff2/aileron.regular.woff2)format("woff2");font-display:swap}@font-face{font-family:aileron-bold;src:url(https://fonts.iono.me/fonts/aileron-woff2/aileron.bold.woff2)format("woff2");font-display:swap}@font-face{font-family:aileron-heavy;src:url(https://fonts.iono.me/fonts/aileron-woff2/aileron.heavy.woff2)format("woff2");font-display:swap}@font-face{font-family:arab;src:url(https://fonts.iono.me/fonts/KfgqpcHafsUthmanicScriptRegular-1jGEe.woff2)format("woff2");font-display:swap}@media(prefers-color-scheme:light){@layer light{:root{--black-primary:#111;--black-secondary:#3b4252;--white-primary:#fffff8;--white-secondary:#fafaf2;--grey-primary:rgba(246,246,246,0.8);--grey-secondary:#ededed;--link:#005eae;--accent:#97323a;--line-shadow:rgba(0,0,0,0.2)}}}@media(prefers-color-scheme:dark){@layer dark{:root{--black-primary:#fafaf2;--black-secondary:#fffff8;--white-primary:#212224;--white-secondary:#393837;--grey-primary:#393837;--grey-secondary:#393837;--link:#8cb4ff;--accent:#fffff8;--line-shadow:#fffff8}}}@layer{h3{font-size:clamp(1.44rem,2vw,1.728rem);margin:2rem 0 1.4rem}h4{font-size:clamp(1.25rem,2vw,1.44rem);margin:1.5rem 0 1rem}h5,h6{font-weight:500;font-size:clamp(1.125rem,2vw,1.25rem);margin-top:1.4rem;margin-bottom:.5rem}h6{font-style:italic}.logo :is(a){color:var(--accent);text-decoration:none}hr{border:none;border-top:2px solid var(--grey-primary)}a{color:var(--link)}a:hover{color:var(--accent)}}@media(prefers-color-scheme:light){@layer light{:root{--table:#d2d2cf;--highlight:#f2f1f1}}}@media(prefers-color-scheme:dark){@layer dark{:root{--table:#303643;--highlight:#3b4252}}}@layer{h1{font-size:clamp(2.4rem,2vw,3.2rem);margin-top:4rem;margin-bottom:1.5rem}h2{margin-top:2.1rem;margin-bottom:1.4rem}}.toc{border:1px solid #ddd;background-color:var(--white-secondary);cursor:pointer;margin:1rem -1rem;padding:.5rem 1rem}.toc ul{list-style-type:decimal}.toc ul ul{list-style-type:square}table{border-collapse:collapse;display:block;margin:1rem -1rem 3rem;overflow-x:auto;table-layout:fixed;word-wrap:normal}table thead tr th{background-color:var(--table);border:1px solid #ddd;padding:.25rem}table tbody tr:nth-child(odd){background-color:var(--grey-primary)}table tbody tr:nth-child(even){background-color:var(--grey-secondary)}table td{border:1px solid #ddd;padding:.5rem 1rem;text-align:left;word-wrap:break-word}audio{display:block;margin:2rem auto;text-align:center}@font-face{font-family:et;src:url(https://fonts.iono.me/fonts/tufte-woff2/et-book-roman-line-figures.woff2)format("woff2"),url(https://fonts.iono.me/fonts/tufte-woff2/et-book-roman-old-style-figures.woff2)format("woff2");font-display:swap}@font-face{font-family:aileron;src:url(https://fonts.iono.me/fonts/aileron-woff2/aileron.regular.woff2)format("woff2");font-display:swap}@font-face{font-family:aileron-bold;src:url(https://fonts.iono.me/fonts/aileron-woff2/aileron.bold.woff2)format("woff2");font-display:swap}@font-face{font-family:aileron-heavy;src:url(https://fonts.iono.me/fonts/aileron-woff2/aileron.heavy.woff2)format("woff2");font-display:swap}@font-face{font-family:arab;src:url(https://fonts.iono.me/fonts/KfgqpcHafsUthmanicScriptRegular-1jGEe.woff2)format("woff2");font-display:swap}.arabic{clear:both;display:block;font-family:arab,serif;font-size:1.77rem;line-height:3rem;margin:1rem 0;text-align:right}blockquote{background-color:var(--grey-primary);border-left:8px solid var(--table);margin:1rem 0 2rem;padding:.5rem 1.25rem}aside{margin:1rem -1rem 2rem}.note{background-color:rgba(0,133,242,.1);margin-top:3rem;margin-bottom:3rem}.note__title{background-color:#5aa8e8}.warning{background-color:rgba(199,183,0,.5);margin-top:3rem;margin-bottom:3rem}.warning__title{background-color:gold}.bg{color:#d6cbb4;background-color:#252b2e}.chroma{color:#d6cbb4;background-color:#252b2e}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#3a4042}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6b655a}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6b655a}.chroma .line{display:flex}.chroma .k{color:#e67e80}.chroma .kc{color:#e67e80}.chroma .kd{color:#e67e80}.chroma .kn{color:#e67e80}.chroma .kp{color:#e67e80}.chroma .kr{color:#e67e80}.chroma .kt{color:#dbbc7f}.chroma .na{color:#d699b6;font-weight:700}.chroma .no{color:#d699b6}.chroma .ni{color:#dbbc7f}.chroma .ne{color:#e67e80}.chroma .nl{color:#e67e80}.chroma .nt{color:#7a8478}.chroma .nb{color:#d699b6}.chroma .bp{color:#d699b6}.chroma .nf{color:#b2c98f}.chroma .fm{color:#b2c98f}.chroma .s{color:#b2c98f}.chroma .sa{color:#b2c98f}.chroma .sb{color:#b2c98f}.chroma .sc{color:#b2c98f}.chroma .dl{color:#b2c98f}.chroma .sd{color:#b2c98f}.chroma .s2{color:#b2c98f}.chroma .se{color:#b2c98f}.chroma .sh{color:#b2c98f}.chroma .si{color:#b2c98f}.chroma .sx{color:#b2c98f}.chroma .sr{color:#b2c98f}.chroma .s1{color:#b2c98f}.chroma .ss{color:#e69875}.chroma .m{color:#d699b6}.chroma .mb{color:#d699b6}.chroma .mf{color:#d699b6}.chroma .mh{color:#d699b6}.chroma .mi{color:#d699b6}.chroma .il{color:#d699b6}.chroma .mo{color:#d699b6}.chroma .o{color:#7a8478}.chroma .ow{color:#7a8478}.chroma .c{color:#859289;font-style:italic}.chroma .ch{color:#859289;font-style:italic}.chroma .cm{color:#859289;font-style:italic}.chroma .c1{color:#859289;font-style:italic}.chroma .cs{color:#859289;font-style:italic}.chroma .cp{color:#e67e80}.chroma .cpf{color:#e67e80;font-style:italic}.chroma .gd{color:#252b2e;background-color:#e67e80}.chroma .ge{color:#6e8585}.chroma .gr{background-color:#e67e80;font-weight:700}.chroma .gh{color:#d699b6;font-weight:700}.chroma .gi{color:#252b2e;background-color:#b2c98f}.chroma .go{color:#6e8585}.chroma .gu{color:#b2c98f;font-weight:700}.chroma .gt{background-color:#e67e80;font-weight:700}:not(pre)>code{background-color:var(--highlight);border-radius:5px;font-size:75%;padding:.2rem .4rem}code{line-height:1.7;box-sizing:border-box;font-family:Consolas,liberation mono,Menlo,Courier,monospace}.highlight{position:relative;margin:2rem 0;border-radius:10px}.highlight code{font-size:clamp(.875rem,2vw,1rem)}.highlight pre{margin:0;padding:1em;border-radius:6px;white-space:pre;overflow-x:auto;box-sizing:border-box}.highlight pre::-webkit-scrollbar{height:8px;background:var(--grey-primary)}.highlight pre::-webkit-scrollbar-thumb{background:var(--white-primary);opacity:.5;border:1px;border-radius:8px}.highlight.wrap pre{white-space:pre-wrap;word-break:break-word}.highlight.wrap pre code{font-size:clamp(.875rem,2vw,1rem)}.highlight .code-toolbar{position:absolute;top:6px;right:6px;display:flex;gap:6px;z-index:10;opacity:0;transition:opacity .2s ease}.highlight .code-toolbar button{background:var(--grey-primary);opacity:.8;border:none;cursor:pointer;font-size:16px;padding:4px;border-radius:6px;color:#6a737d}.highlight:hover .code-toolbar{opacity:1}@supports(webkit-touch-callout:none){@media(max-width:768px){.highlight code{font-size:.875rem}.highlight.wrap pre code{font-size:.875rem}}}#webmentions{margin:0;position:relative;z-index:100;line-height:1.2em}#webmentions .comments{max-height:20em;overflow-x:hidden;overflow-y:scroll;font-size:80%}#webmentions h2{font-size:medium;margin:0;padding:2px;background:#ccc}#webmentions .reacts img{margin:3px -1ex 1px 0}#webmentions img.missing{background:#fff;border:dashed #000 1px}#webmentions ul{list-style-type:none;margin:0;padding:4px}#webmentions li{text-indent:-1em;padding-left:1em}#webmentions a.reaction{position:relative;text-decoration:none;text-shadow:0 0 3px #fff;margin-right:0;letter-spacing:-1ex;margin-right:1ex}#webmentions a.reaction img{max-height:1.3em;width:auto;margin-right:-1ex;border-radius:25%}#webmentions a.reaction sub{font-size:50%}#webmentions .comments li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#webmentions .comments li .text{color:#555;font-style:italic;text-decoration:none}#webmentions .comments li .name{color:#111}.mastodon-feed{display:grid;gap:2rem;max-width:42rem}.mastodon-entry{padding:1.25rem 1.25rem 1rem;border:1px solid var(--border,rgba(0,0,0,.12));border-radius:14px;display:grid;gap:.75rem}.mastodon-entry .e-content{font-size:.95rem;line-height:1.55}.mastodon-entry .e-content p{margin:0 0 .5rem}.mastodon-entry .e-content a{word-break:break-word}.mastodon-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin-top:.25rem}.mastodon-media img{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:10px;border:1px solid var(--border,rgba(0,0,0,8%))}.mastodon-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;font-size:.8rem;opacity:.7}.mastodon-meta a{text-decoration:none}.mastodon-meta time{white-space:nowrap}.mastodon-entry details{border:1px dashed var(--border,rgba(0,0,0,.15));border-radius:10px;padding:.5rem .75rem}.mastodon-entry details summary{cursor:pointer;font-size:.85rem;opacity:.8}@media(max-width:600px){.mastodon-feed{gap:1.25rem}.mastodon-entry{padding:1rem}.mastodon-media{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media(prefers-color-scheme:dark){.mastodon-entry{border-color:rgba(255,255,255,.12)}.mastodon-media img{border-color:rgba(255,255,255,.12)}.mastodon-entry details{border-color:rgba(255,255,255,.2)}}.subtitle{font-style:italic;margin-bottom:3rem}.subtitle span{font-style:normal;margin-right:.5rem}.e-content,.entry{margin:2rem 0}.e-content :is(p){margin-bottom:clamp(1.3rem,2vw,2rem)}.e-content :is(a){text-decoration:underline}.admonition__title :is(p){color:#282d38;font-weight:700}.admonition__content,.admonition__title :is(p){margin:0;padding:.1rem 1rem}.footnotes :is(li,p){margin:.5rem 0}.footnotes ul,.footnotes ol{padding-inline-start:3rem}.footnotes :is(li,p),.admonition__content :is(li,p,strong),.entry{color:var(--black-secondary);font-size:clamp(1rem,2vw,1.125rem)}.info{display:block;padding:.2rem}.anchor a{text-decoration:none}.anchor svg{opacity:.3}.anchor svg:hover{opacity:1}#gallerydeluxe{z-index:1000}