@charset "UTF-8";@font-face{font-family:open sans;font-style:normal;src:url(/fonts/open_sans/OpenSans-VariableFont_wdth,wght.9f637b868d10819aa0085e6cf7f70953411c8905c4055c069adbe8acc708feef.woff2)format("woff2")}@font-face{font-family:open sans;font-style:italic;src:url(/fonts/open_sans/OpenSans-Italic-VariableFont_wdth,wght.36d995bf64b67bfd8d230932cc3a6c74ece78645e206e3a7a50d2a7f7ed887e3.woff2)format("woff2")}@font-face{font-family:montserrat;font-style:normal;src:url(/fonts/montserrat/Montserrat-VariableFont_wght.93282f480fb56c370d2f59e0078d791ad8b7a6524479a62dc108d104f84e4eb9.woff2)format("woff2")}@font-face{font-family:montserrat;font-style:italic;src:url(/fonts/montserrat/Montserrat-Italic-VariableFont_wght.d5aba8ce84f61b81e5c9282b2f2e21bde10ddfb21ce93ffc78ce851316734ac3.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:100;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-thin.6e022c4df7b343808cc973ff3c388e16fb402fa7441125906bd815cf3090361d.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:100;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-thinoblique.dd46b42f31ed25b9ede8a8799dd139ea693fd4be24f46e5d09df6f1531971426.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:200;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-extralight.d281eb46b93c73acd0b7eb2afd68624c3067c883cd9181958011712f36c06d47.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:200;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-extralightoblique.9ba2536a7a11ad4d00e6bc5f4e12c659165653215d39acd565038b02e8ada243.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:300;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-light.0c693935308b37958d5252f265745d90b5e3c51be0b00aea099e7dd4d322635b.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:300;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-lightoblique.11444c1cf216002581e5678f33939c7cc6efe50782bae634c215ef0b2f3ee04c.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:400;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-regular.13e4f716a663f698e6f1fcf941ff10a0cf3db3a7faffd2c11e118df70c65758e.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:400;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-oblique.faabe3ea5e363a57383db5b4295293ee0113e0a622b7b8ad28314037529144b4.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:500;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-medium.735444b59b5b700d5179fb202812b7980d16cea524c54a14d9b41932b0fddace.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:500;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-mediumoblique.54a7f8fddcaeb461d75774c479c0e6f7fc14ab21b428f163fc154f64d5ca695a.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:600;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-semibold.bf25b896c132d4c922a09e136a92af67b0d7b9c55aac058a99408e73a2d6cec5.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:600;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-semiboldoblique.d13cb9ee16b42fa9cc1350d5b9e799b906025b12cb2dbf08f2aef3903eb68be3.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:700;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-bold.13e5de1629f83680128ca92175fbad4adea3124aafbb8c9aacdf808208fab66a.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:700;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-boldoblique.4fdb39f55985080e5e66c58a0e6f9707e529a290abd0d4aa83fae786223935a5.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:800;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-extrabold.0b337c99b655d637e202955ea592bcf5ea08ec8bf355f3172d1c70d6f49028f2.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:800;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-extraboldoblique.12763505cef9d968dbdbb39a918c1f0a652b497e42cab27d7ba9e187c08d67e5.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:900;font-stretch:normal;font-style:normal;src:url(/fonts/iosevka/iosevka-custom-heavy.658bdb2840677a53ae9b29ca881f4921be4f12a84b4910942f477f85a8f42f6c.woff2)format("woff2")}@font-face{font-family:iosevka custom web;font-display:swap;font-weight:900;font-stretch:normal;font-style:oblique;src:url(/fonts/iosevka/iosevka-custom-heavyoblique.86e2caa4583ac43b6e9f8c1eab83dc911f10ea1cf4530e14029614791f5e1799.woff2)format("woff2")}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#373446}:root{--r-background-color:#2a2836;--r-main-font:Open Sans, sans-serif;--r-main-font-size:40px;--r-main-color:#cecce3;--r-block-margin:20px;--r-heading-margin:0 0 20px 0;--r-heading-font:Montserrat, Impact, sans-serif;--r-heading-color:#f2eaf7;--r-heading-line-height:1.2;--r-heading-letter-spacing:normal;--r-heading-text-transform:none;--r-heading-text-shadow:none;--r-heading-font-weight:600;--r-heading1-text-shadow:none;--r-heading1-size:2.5em;--r-heading2-size:1.6em;--r-heading3-size:1.3em;--r-heading4-size:1em;--r-code-font:Iosevka Custom Web, monospace;--r-link-color:#8be9fd;--r-link-color-dark:#40dbfc;--r-link-color-hover:#d6f7fe;--r-selection-background-color:white;--r-selection-color:#fff;--r-overlay-element-bg-color:240, 240, 240;--r-overlay-element-fg-color:0, 0, 0}.reveal-viewport{background:#2a2836;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:400;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin)0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:700}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:700}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin)auto;padding:5px;font-style:italic;background:rgba(255,255,255,5%);box-shadow:0 0 2px rgba(0,0,0,.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin)auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0 5px 15px rgba(0,0,0,.15)}.reveal code{font-family:var(--r-code-font);text-transform:none;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:700}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin)0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px rgba(0,0,0,.15)}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px rgba(0,0,0,.55)}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.hljs{background-color:#282a36}.hljs,.hljs-subst{color:#f8f8f2}.hljs::selection,.hljs ::selection{background-color:#44475a;color:#f8f8f2}.hljs-comment{color:#9daad2}.hljs-doctag{color:#ff79c6}.hljs-keyword{color:#ff79c6;font-weight:700}.hljs-type{color:#8be9fd;font-style:italic}.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#bd93f9}.hljs-operator,.hljs-punctuation{color:#f8f8f2}.hljs-regexp{color:#f55}.hljs-string{color:#f1fa8c}.hljs-variable.language_,.hljs-params .hljs-variable.language_{color:#bd93f9;font-style:italic}.hljs-title{color:#50fa7b}.hljs-title.class_{color:#8be9fd}.hljs-title.class_.inherited__{color:#8be9fd;font-style:italic}.hljs-params .hljs-variable{color:#ffb86c;font-style:italic}.hljs-section{color:#bd93f9;font-weight:700}.hljs-bullet{color:#8be9fd}.hljs-code{color:#50fa7b}.hljs-emphasis{color:#f1fa8c;font-style:italic}.hljs-strong{color:#ffb86c;font-weight:700}.hljs-formula{color:#ffb86c}.hljs-link{color:#8be9fd}.hljs-quote{color:#f1fa8c;font-style:italic}.hljs-meta,.hljs-meta.prompt_{color:#f1fa8c}.hljs-meta .hljs-keyword{font-weight:700}.hljs-tag,.hljs-selector-tag,.hljs-selector-pseudo{color:#ff79c6}.hljs-name,.hljs-attr,.hljs-attribute,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr{color:#50fa7b}.hljs-template-tag,.hljs-template-variable{color:#ff79c6}.hljs-addition{color:#50fa7b}.hljs-deletion{color:#f55}.reveal .slides>section{text-align:left;line-height:1.6em}.reveal .slides>section h1,.reveal .slides>section h2{margin:0 0 40px}.reveal .slides>section:not( .vcenter,:has(:is(h1,h2):only-child,:is(h1,h2):first-child+aside:last-child,:is(h1,h2):first-child+:is(h1,h2):last-child,:is(h1,h2):first-child+:is(h1,h2)+aside:last-child)){top:0!important}.reveal .slides a{text-decoration:underline}code{font-variant-ligatures:no-contextual}.reveal code:not(.hljs){color:#989fc4;background:#191a21;border-radius:.2em}.reveal .hljs{background:#191a21}.reveal pre{background:#191a21;font-size:.7em;width:98%}.reveal .col pre{margin:10px}.reveal pre code{padding:.2em;max-height:828px}.reveal pre code::-webkit-scrollbar{display:none}.reveal section .fragment.highlight{opacity:1;visibility:inherit}.reveal section .fragment.highlight.visible,.reveal section .highlight:not(.fragment){color:#ff79c6}.reveal section .fragment.highlight-code{opacity:1;visibility:inherit;position:relative;text-decoration-color:#ff79c6;text-decoration-thickness:.5em;text-decoration-skip-ink:auto;overflow:visible}.reveal section .fragment.highlight-code.current-fragment{text-decoration-line:underline;z-index:1000}.reveal section .fragment.highlight-code.current-fragment::before{color:#ff79c6;position:absolute;display:inline;top:.8em;left:-.8em;font-size:4em;font-weight:900;text-shadow:1px 1px 2px #000;transform:rotate(30deg);content:'↑'}.reveal .hljs{overflow:visible}.reveal pre.code-wrapper{overflow:visible}.reveal .left{text-align:left}.reveal .center{text-align:center}.reveal .right{text-align:right}.reveal .col-container{display:flex}.reveal .col{flex:1}.reveal .col-2{flex:2}.reveal .col-4{flex:4}.reveal .row-container{display:flex;flex-flow:column;justify-content:flex-end;height:900px}.reveal .row{flex:1}.two-col-grid{width:100%;display:grid;gap:1em;grid-template-columns:1fr 1fr;place-content:center;align-items:center;justify-items:start}.reveal .two-col-grid :is(h1,h2,h3,h4){margin:0}.two-col-grid .justify-end{justify-self:end}.two-col-grid .justify-start{justify-self:start}.grid-col-1-3{grid-column:1/3}.reveal .diagram-center{width:100%;display:flex;align-items:center;justify-content:center}.reveal .gh-avatar-container{display:flex;justify-content:space-evenly;flex-wrap:wrap;align-content:space-around;font-size:36px}.reveal .gh-avatar{margin:var(--r-block-margin)}.reveal .gh-avatar img{margin:0;width:100px;height:100px}.reveal .semi-faded{opacity:.5}.hljs-emoji{font-family:open sans,sans-serif}.reveal code.hljs:is(.language-Carbon,.language-cpp,.language-rust,.language-swift){min-height:2.4em}.reveal code.hljs:is(.language-Carbon,.language-cpp,.language-rust,.language-swift)::before{position:absolute;top:.5em;right:.5em;font-family:open sans,sans-serif;background:#373446;border-radius:.5em;padding:.3em}.reveal code.hljs.language-Carbon::before{content:"Carbon"}.reveal code.hljs.language-cpp::before{content:"C++"}.reveal code.hljs.language-rust::before{content:"Rust"}.reveal code.hljs.language-swift::before{content:"Swift"}.reveal .no-lang-marker code.hljs::before{display:none}