@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";.reveal .stretch,.reveal .r-stretch{max-width:none;max-height:none}.reveal pre.stretch code,.reveal pre.r-stretch code{box-sizing:border-box;height:100%;max-height:100%}.reveal .r-fit-text{white-space:nowrap;display:inline-block}.reveal .r-stack{grid-template-rows:100%;display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-vstack,.reveal .r-hstack{display:flex}.reveal .r-vstack img,.reveal .r-vstack video,.reveal .r-hstack img,.reveal .r-hstack video{object-fit:contain;min-width:0;min-height:0}.reveal .r-vstack{flex-direction:column;justify-content:center;align-items:center}.reveal .r-hstack{flex-direction:row;justify-content:center;align-items:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100vh;height:calc(var(--vh,1vh) * 100);height:100dvh;overflow:hidden}.reveal-viewport{color:#000;--r-controls-spacing:12px;--r-overlay-header-height:40px;--r-overlay-margin:0px;--r-overlay-padding:6px;--r-overlay-gap:5px;background-color:#fff;height:100%;margin:0;line-height:1;position:relative;overflow:hidden}@media screen and (width<=1024px),(height<=768px){.reveal-viewport{--r-overlay-header-height:26px}}.reveal-viewport:fullscreen{width:100%!important;height:100%!important;top:0!important;left:0!important;transform:none!important}.reveal .fragment{transition:all .2s}.reveal .fragment:not(.custom){opacity:0;visibility:hidden;will-change:opacity}.reveal .fragment.visible{opacity:1;visibility:inherit}.reveal .fragment.disabled{transition:none}.reveal .fragment.grow{opacity:1;visibility:inherit}.reveal .fragment.grow.visible{transform:scale(1.3)}.reveal .fragment.shrink{opacity:1;visibility:inherit}.reveal .fragment.shrink.visible{transform:scale(.7)}.reveal .fragment.zoom-in{transform:scale(.1)}.reveal .fragment.zoom-in.visible{transform:none}.reveal .fragment.fade-out{opacity:1;visibility:inherit}.reveal .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.strike{opacity:1;visibility:inherit}.reveal .fragment.strike.visible{text-decoration:line-through}.reveal .fragment.fade-up{transform:translateY(40px)}.reveal .fragment.fade-up.visible{transform:translate(0)}.reveal .fragment.fade-down{transform:translateY(-40px)}.reveal .fragment.fade-down.visible{transform:translate(0)}.reveal .fragment.fade-right{transform:translate(-40px)}.reveal .fragment.fade-right.visible{transform:translate(0)}.reveal .fragment.fade-left{transform:translate(40px)}.reveal .fragment.fade-left.visible{transform:translate(0)}.reveal .fragment.fade-in-then-out,.reveal .fragment.current-visible{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-out.current-fragment,.reveal .fragment.current-visible.current-fragment{opacity:1;visibility:inherit}.reveal .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-red,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue{opacity:1;visibility:inherit}.reveal .fragment.highlight-red.visible{color:#ff2c2d}.reveal .fragment.highlight-green.visible{color:#17ff2e}.reveal .fragment.highlight-blue.visible{color:#1b91ff}.reveal .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(-10px)}30%{transform:translate(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{top:auto;bottom:var(--r-controls-spacing);right:var(--r-controls-spacing);z-index:11;color:#000;pointer-events:none;font-size:10px;display:none;position:absolute;left:auto}.reveal .controls button{cursor:pointer;color:currentColor;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:#0000;background-color:#0000;border:0;outline:0;padding:0;transition:color .2s,opacity .2s,transform .2s;position:absolute;transform:scale(.9999)}.reveal .controls .controls-arrow:before,.reveal .controls .controls-arrow:after{content:"";transform-origin:.2em;will-change:transform;background-color:currentColor;border-radius:.25em;width:2.6em;height:.5em;transition:all .15s,background-color .8s;position:absolute;top:0;left:0}.reveal .controls .controls-arrow{width:3.6em;height:3.6em;position:relative}.reveal .controls .controls-arrow:before{transform:translate(.5em)translateY(1.55em)rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translate(.5em)translateY(1.55em)rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translate(.5em)translateY(1.55em)rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translate(.5em)translateY(1.55em)rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translate(.5em)translateY(1.55em)rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translate(.5em)translateY(1.55em)rotate(-36deg)}.reveal .controls .navigate-left{bottom:3.2em;right:6.4em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:2s ease-out 50 both bounce-left}.reveal .controls .navigate-right{bottom:3.2em;right:0;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:2s ease-out 50 both bounce-right}.reveal .controls .navigate-up{bottom:6.4em;right:3.2em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{padding-bottom:1.4em;bottom:-1.4em;right:3.2em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:2s ease-out 50 both bounce-down}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled:hover,.reveal .controls .enabled.fragmented:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down{display:none}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left,.reveal:not(.has-vertical-slides) .controls .navigate-left{bottom:1.4em;right:5.5em}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right,.reveal:not(.has-vertical-slides) .controls .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{bottom:5em;right:1.4em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{bottom:.5em;right:1.4em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:hover:before,.reveal.no-hover .controls .controls-arrow:active:before{transform:translate(.5em)translateY(1.55em)rotate(45deg)}.reveal.no-hover .controls .controls-arrow:hover:after,.reveal.no-hover .controls .controls-arrow:active:after{transform:translate(.5em)translateY(1.55em)rotate(-45deg)}@media screen and (width>=500px){.reveal-viewport{--r-controls-spacing:.8em}.reveal .controls[data-controls-layout=edges]{inset:0}.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up,.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:var(--r-controls-spacing);margin-left:-1.8em;left:50%}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:calc(var(--r-controls-spacing) - 1.4em + .3em);margin-left:-1.8em;left:50%}}.reveal .progress{z-index:10;color:#fff;background-color:#0003;width:100%;height:3px;display:none;position:absolute;bottom:0;left:0}.reveal .progress:after{content:"";width:100%;height:10px;display:block;position:absolute;top:-10px}.reveal .progress span{transform-origin:0 0;background-color:currentColor;width:100%;height:100%;transition:transform .8s cubic-bezier(.26,.86,.44,.985);display:block;transform:scaleX(0)}.reveal .slide-number{z-index:31;color:#fff;background-color:#0006;padding:5px;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;display:block;position:absolute;bottom:8px;right:8px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{touch-action:pinch-zoom;width:100%;height:100%;position:relative;overflow:hidden}.reveal.embedded{touch-action:pan-y}.reveal.embedded.is-vertical-slide{touch-action:none}.reveal .slides{pointer-events:none;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%;width:100%;height:100%;margin:auto;position:absolute;inset:0;overflow:visible}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{pointer-events:auto;z-index:10;transform-style:flat;width:100%;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985);display:none;position:absolute}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{pointer-events:none;height:100%;padding-top:0;padding-bottom:0}.reveal .slides>section.present,.reveal .slides>section>section.present{z-index:11;opacity:1;display:block}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section[data-background-interactive],.reveal .slides>section>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.past,.reveal .slides>section.future,.reveal .slides>section.past>section,.reveal .slides>section.future>section,.reveal .slides>section>section.past,.reveal .slides>section>section.future{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate(-100%)rotateY(-90deg)translate(-100%)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate(100%)rotateY(90deg)translate(100%)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translateY(-300px)rotateX(70deg)translateY(-300px)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translateY(300px)rotateX(-70deg)translateY(300px)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate(-100%)rotateY(-90deg)translate(-100%)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate(100%)rotateY(90deg)translate(100%)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translateY(-300px)rotateX(70deg)translateY(-300px)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translateY(300px)rotateX(-70deg)translateY(300px)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate(-100%)rotateY(90deg)translate(-100%)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate(100%)rotateY(-90deg)translate(100%)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translateY(-80%)rotateX(-70deg)translateY(-80%)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translateY(80%)rotateX(70deg)translateY(80%)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{backface-visibility:hidden;box-sizing:border-box;min-height:700px;transform-style:preserve-3d;padding:30px}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";background:#0000001a;border-radius:4px;width:100%;height:100%;display:block;position:absolute;top:0;left:0;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";z-index:1;background:0 0;border-radius:4px;width:90%;height:30px;display:block;position:absolute;bottom:0;left:5%;transform:translateZ(-90px)rotateX(65deg);box-shadow:0 95px 25px #0003}.reveal.cube .slides>section.stack{background:0 0;padding:0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate(-100%)rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate(100%)rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translateY(-100%)rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translateY(100%)rotateX(-90deg)}.reveal.page .slides{perspective-origin:0%;perspective:3000px}.reveal.page .slides section{box-sizing:border-box;min-height:700px;transform-style:preserve-3d;padding:30px}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";background:#0000001a;width:100%;height:100%;display:block;position:absolute;top:0;left:0;transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";z-index:1;background:0 0;border-radius:4px;width:90%;height:30px;display:block;position:absolute;bottom:0;left:5%;transform:translateZ(-90px)rotateX(65deg);box-shadow:0 95px 25px #0003}.reveal.page .slides>section.stack{background:0 0;padding:0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate(-40%)rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translate(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translateY(-40%)rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translate(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transition:opacity .5s;transform:none}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transition:none;transform:none}.reveal .pause-overlay{visibility:hidden;opacity:0;z-index:100;background:#000;width:100%;height:100%;transition:all 1s;position:absolute;top:0;left:0}.reveal .pause-overlay .resume-button{color:#ccc;cursor:pointer;background:0 0;border:2px solid #ccc;border-radius:2px;padding:6px 14px;font-size:16px;position:absolute;bottom:20px;right:20px}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{perspective:600px;width:100%;height:100%;position:absolute;top:0;left:0}.reveal .slide-background{opacity:0;visibility:hidden;background-color:#0000;width:100%;height:100%;transition:all .8s cubic-bezier(.26,.86,.44,.985);display:none;position:absolute;overflow:hidden}.reveal .slide-background-content{background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{object-fit:cover;width:100%;max-width:none;height:100%;max-height:none;position:absolute;top:0;left:0}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]),.reveal>.backgrounds .slide-background[data-background-transition=none]{transition:none}.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]),.reveal>.backgrounds .slide-background[data-background-transition=slide]{opacity:1}.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=slide]{transform:translate(-100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=slide]{transform:translate(100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide]{transform:translateY(-100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide]{transform:translateY(100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=convex]{opacity:0;transform:translate(-100%)rotateY(-90deg)translate(-100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=convex]{opacity:0;transform:translate(100%)rotateY(90deg)translate(100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex]{opacity:0;transform:translateY(-100%)rotateX(90deg)translateY(-100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex]{opacity:0;transform:translateY(100%)rotateX(-90deg)translateY(100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=concave]{opacity:0;transform:translate(-100%)rotateY(90deg)translate(-100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=concave]{opacity:0;transform:translate(100%)rotateY(-90deg)translate(100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave]{opacity:0;transform:translateY(-100%)rotateX(-90deg)translateY(-100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave]{opacity:0;transform:translateY(100%)rotateX(90deg)translateY(100%)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]),.reveal>.backgrounds .slide-background[data-background-transition=zoom]{transition-timing-function:ease}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50%;perspective:700px}.reveal.overview .slides section{cursor:pointer;box-sizing:border-box;height:100%;overflow:hidden;opacity:1!important;visibility:visible!important;top:0!important}.reveal.overview .slides section:hover,.reveal.overview .slides section.present{outline-offset:10px;outline:10px solid #96969699}.reveal.overview .slides section.present{outline:10px solid var(--r-link-color)}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{background:0 0;outline:none;padding:0;overflow:visible;top:0!important}.reveal.overview .backgrounds{perspective:inherit}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline-offset:10px;outline:10px solid #9696961a}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section,.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl pre,.reveal.rtl code{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-up{0%{transform:scale(.95)}to{transform:scale(1)}}.reveal [data-preview-image],.reveal [data-preview-video],.reveal [data-preview-link]:not(a):not([data-preview-link=false]){cursor:zoom-in}.r-overlay{top:var(--r-overlay-margin);right:var(--r-overlay-margin);bottom:var(--r-overlay-margin);left:var(--r-overlay-margin);border-radius:min(var(--r-overlay-margin), 6px);z-index:99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#000000f2;font-family:ui-sans-serif,system-ui,-apple-system,Helvetica,sans-serif;transition:all .3s;animation:.3s fade-in;position:absolute}.r-overlay-viewport{top:var(--r-overlay-padding);right:var(--r-overlay-padding);bottom:var(--r-overlay-padding);left:var(--r-overlay-padding);gap:var(--r-overlay-gap);flex-direction:column;display:flex;position:absolute}.r-overlay-header{z-index:2;box-sizing:border-box;height:var(--r-overlay-header-height);justify-content:flex-end;align-items:center;gap:6px;display:flex}.r-overlay-header .r-overlay-header-button{all:unset;min-width:var(--r-overlay-header-height);min-height:var(--r-overlay-header-height);padding:0 calc(var(--r-overlay-header-height) / 4);opacity:1;cursor:pointer;box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-size:18px;display:flex}.r-overlay-header .r-overlay-header-button:hover{opacity:1;background-color:#ffffff26}.r-overlay-header .icon{background-position:50%;background-repeat:no-repeat;background-size:100%;width:20px;height:20px;display:inline-block}.r-overlay-close .icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuODU0IDIuODU0YS41LjUgMCAwIDAtLjcwOC0uNzA4TDcuNSA2Ljc5MyAyLjg1NCAyLjE0NmEuNS41IDAgMSAwLS43MDguNzA4TDYuNzkzIDcuNWwtNC42NDcgNC42NDZhLjUuNSAwIDAgMCAuNzA4LjcwOEw3LjUgOC4yMDdsNC42NDYgNC42NDdhLjUuNSAwIDAgMCAuNzA4LS43MDhMOC4yMDcgNy41bDQuNjQ3LTQuNjQ2WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.r-overlay-external .icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMyAyYTEgMSAwIDAgMC0xIDF2OWExIDEgMCAwIDAgMSAxaDlhMSAxIDAgMCAwIDEtMVY4LjVhLjUuNSAwIDAgMC0xIDBWMTJIM1YzaDMuNWEuNS41IDAgMCAwIDAtMUgzWm05Ljg1NC4xNDZhLjUuNSAwIDAgMSAuMTQ2LjM1MVY1LjVhLjUuNSAwIDAgMS0xIDBWMy43MDdMNi44NTQgOC44NTRhLjUuNSAwIDEgMS0uNzA4LS43MDhMMTEuMjkzIDNIOS41YS41LjUgMCAwIDEgMC0xaDNhLjQ5OS40OTkgMCAwIDEgLjM1NC4xNDZaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.r-overlay-content{background-color:#141414cc;border-radius:6px;flex-grow:1;place-items:center;animation:.5s cubic-bezier(.26,.86,.44,.985) scale-up;display:grid;position:relative;overflow:hidden}.r-overlay-spinner{z-index:10;visibility:hidden;opacity:0;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);width:32px;height:32px;margin:-16px 0 0 -16px;display:block;position:absolute;top:50%;left:50%}.r-overlay-preview .r-overlay-content iframe{opacity:0;visibility:hidden;border:0;width:100%;max-width:100%;height:100%;max-height:100%;transition:all .3s}.r-overlay-preview[data-state=loaded] iframe{opacity:1;visibility:visible}.r-overlay-preview .r-overlay-content img,.r-overlay-preview .r-overlay-content video{object-fit:scale-down;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;position:absolute}.r-overlay-preview[data-preview-fit=none] img,.r-overlay-preview[data-preview-fit=none] video{object-fit:none}.r-overlay-preview[data-preview-fit=scale-down] img,.r-overlay-preview[data-preview-fit=scale-down] video{object-fit:scale-down}.r-overlay-preview[data-preview-fit=contain] img,.r-overlay-preview[data-preview-fit=contain] video{object-fit:contain}.r-overlay-preview[data-preview-fit=cover] img,.r-overlay-preview[data-preview-fit=cover] video{object-fit:cover}.r-overlay-preview[data-state=loaded] .r-overlay-content-inner{z-index:-1;text-align:center;letter-spacing:normal;width:100%;position:absolute;top:45%;left:0}.r-overlay-preview .r-overlay-error{color:orange;font-size:18px}.r-overlay-preview .x-frame-error{opacity:0;transition:opacity .3s .3s}.r-overlay-preview[data-state=loaded] .x-frame-error{opacity:1}.r-overlay-preview[data-state=loading] .r-overlay-spinner{opacity:.6;visibility:visible}.r-overlay-help .r-overlay-content{overflow:auto}.r-overlay-help-content{text-align:center;letter-spacing:normal;max-width:560px;margin:auto;padding:20px 0}.r-overlay-help-content .title{margin-top:0;font-size:20px}.r-overlay-help .r-overlay-help-content table{border-collapse:collapse;text-align:left;border:1px solid #fff;font-size:16px}.r-overlay-help .r-overlay-help-content table th,.r-overlay-help .r-overlay-help-content table td{vertical-align:middle;border:1px solid #fff;width:240px;padding:14px}.r-overlay-help .r-overlay-help-content table th{padding-top:20px;padding-bottom:20px}.reveal .playback{z-index:30;cursor:pointer;-webkit-tap-highlight-color:#0000;transition:all .4s;position:absolute;bottom:20px;left:15px}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{border:0;padding:0}.reveal .hljs-ln-numbers{opacity:.6;text-align:right;vertical-align:top;padding-right:.75em}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs.has-highlights.fragment{transition:all .2s}.reveal .hljs:not(:first-child).fragment{box-sizing:border-box;width:100%;position:absolute;top:0;left:0}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{vertical-align:top;perspective:400px;perspective-origin:50%;line-height:1.2;display:inline-block;overflow:hidden}.reveal .roll:hover{text-shadow:none;background:0 0}.reveal .roll span{pointer-events:none;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden;padding:0 2px;transition:all .4s;display:block;position:relative}.reveal .roll:hover span{background:#00000080;transform:translateZ(-45px)rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);backface-visibility:hidden;transform-origin:50% 0;padding:0 2px;display:block;position:absolute;top:0;left:0;transform:translateY(110%)rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{z-index:1;color:#222;box-sizing:border-box;text-align:left;-webkit-overflow-scrolling:touch;background-color:#f5f5f5;border:1px solid #0000000d;width:33.3333%;height:100%;padding:14px 18px;font-family:Helvetica,sans-serif;font-size:18px;line-height:1.4;display:none;position:absolute;top:0;left:100%;overflow:auto}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:none}.reveal .speaker-notes:before{content:"Speaker notes";opacity:.5;margin-bottom:10px;display:block}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (width>=1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (width<=1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{border:0;width:100%;height:30vh;top:100%;left:0}}@media screen and (width<=600px){.reveal.show-notes{max-height:60vh}.reveal.show-notes .speaker-notes{height:40vh;top:100%}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{z-index:30;-webkit-tap-highlight-color:#0000;font-size:32px;position:absolute;top:15px;left:15px}.reveal .jump-to-slide-input{font-size:inherit;color:currentColor;background:0 0;border:0;padding:8px}.reveal .jump-to-slide-input::placeholder{color:currentColor;opacity:.5}.reveal.has-dark-background .jump-to-slide-input{color:#fff}.reveal.has-light-background .jump-to-slide-input{color:#222}.reveal .jump-to-slide-input:focus{outline:none}.reveal .r-overlay-button{all:unset;z-index:30;cursor:pointer;-webkit-tap-highlight-color:#0000;appearance:none;color:#fff;background:#000000b3;border-radius:5px;justify-content:center;align-items:center;padding:10px;font-size:.4em;display:flex;position:absolute}.reveal .r-overlay-button:hover{background:#000000e6}.reveal.has-light-background .r-overlay-button{color:#222;background:#ffffffb3}.reveal.has-light-background .r-overlay-button:hover{background:#ffffffe6}.reveal .r-media-play-button{bottom:20px;left:15px}.zoomed .reveal *,.zoomed .reveal :before,.zoomed .reveal :after{backface-visibility:visible!important}.zoomed .reveal .progress,.zoomed .reveal .controls{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after,.reveal-viewport.loading-scroll-mode{visibility:hidden}.reveal-viewport.reveal-scroll{z-index:1;--r-scrollbar-width:7px;--r-scrollbar-trigger-size:5px;--r-controls-spacing:8px;margin:0 auto;overflow:hidden auto}@media screen and (width<=500px){.reveal-viewport.reveal-scroll{--r-scrollbar-width:3px;--r-scrollbar-trigger-size:3px}}.reveal-viewport.reveal-scroll .controls,.reveal-viewport.reveal-scroll .progress,.reveal-viewport.reveal-scroll .playback,.reveal-viewport.reveal-scroll .backgrounds,.reveal-viewport.reveal-scroll .slide-number,.reveal-viewport.reveal-scroll .speaker-notes{display:none!important}.reveal-viewport.reveal-scroll .r-overlay,.reveal-viewport.reveal-scroll .pause-overlay,.reveal-viewport.reveal-scroll .r-media-play-button{position:fixed}.reveal-viewport.reveal-scroll .reveal{touch-action:manipulation;overflow:visible}.reveal-viewport.reveal-scroll .slides{pointer-events:initial;perspective:none;perspective-origin:50%;margin:0;padding:0;display:block;position:static;top:auto;left:auto;overflow:visible;width:100%!important}.reveal-viewport.reveal-scroll .scroll-page{width:100%;height:calc(var(--page-height) + var(--page-scroll-padding));z-index:1;position:relative;overflow:visible}.reveal-viewport.reveal-scroll .scroll-page-sticky{height:var(--page-height);position:sticky;top:0}.reveal-viewport.reveal-scroll .scroll-page-content{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.reveal-viewport.reveal-scroll .scroll-page section{visibility:visible!important;width:var(--slide-width)!important;height:var(--slide-height)!important;opacity:1!important;transform:scale(var(--slide-scale)) translate(-50%, -50%)!important;transform-style:flat!important;transform-origin:0 0!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important}.reveal-viewport.reveal-scroll .slide-background{visibility:visible;opacity:1;touch-action:manipulation;width:100%;height:100%;position:absolute;top:0;left:0;z-index:auto!important;display:block!important}.reveal-viewport.reveal-scroll[data-scrollbar=true]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=auto]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=true],.reveal-viewport.reveal-scroll[data-scrollbar=auto]{scrollbar-width:none}.reveal.has-dark-background,.reveal-viewport.has-dark-background{--r-overlay-element-bg-color:240, 240, 240;--r-overlay-element-fg-color:0, 0, 0}.reveal.has-light-background,.reveal-viewport.has-light-background{--r-overlay-element-bg-color:0, 0, 0;--r-overlay-element-fg-color:240, 240, 240}.reveal-viewport.reveal-scroll .scrollbar{z-index:20;opacity:0;transition:all .3s;position:sticky;top:50%}.reveal-viewport.reveal-scroll .scrollbar.visible,.reveal-viewport.reveal-scroll .scrollbar:hover{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-inner{width:var(--r-scrollbar-width);height:calc(var(--viewport-height) - var(--r-controls-spacing) * 2);right:var(--r-controls-spacing);border-radius:var(--r-scrollbar-width);z-index:10;position:absolute;top:0;transform:translateY(-50%)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-playhead{width:var(--r-scrollbar-width);height:var(--r-scrollbar-width);border-radius:var(--r-scrollbar-width);background-color:rgba(var(--r-overlay-element-bg-color), 1);z-index:11;transition:background-color .2s;position:absolute;top:0;left:0}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide{background-color:rgba(var(--r-overlay-element-bg-color), .2);width:100%;box-shadow:0 0 0px 1px rgba(var(--r-overlay-element-fg-color), .1);border-radius:var(--r-scrollbar-width);transition:background-color .2s;position:absolute}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:after{content:"";z-index:-1;background:0 0;width:200%;height:100%;position:absolute;top:0;left:-50%}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:hover,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active{background-color:rgba(var(--r-overlay-element-bg-color), .4)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-trigger{width:100%;transition:background-color .2s;position:absolute}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active.has-triggers{background-color:rgba(var(--r-overlay-element-bg-color), .4);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger:after{content:"";width:var(--r-scrollbar-trigger-size);height:var(--r-scrollbar-trigger-size);background-color:rgba(var(--r-overlay-element-bg-color), 1);opacity:.4;border-radius:20px;transition:transform .2s,opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active:after,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active~.scrollbar-trigger:after{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger~.scrollbar-trigger.active:after{transform:translate(calc(var(--r-scrollbar-width) * -2), 0);background-color:rgba(var(--r-overlay-element-bg-color), 1)}@media (pointer:coarse){.reveal .controls{font-size:clamp(10px,2.5vmin,40px)}.reveal .progress{height:clamp(3px,.75vmin,10px)}.reveal .r-overlay-button{padding:clamp(.2em,2vmin,1em);font-size:clamp(.4em,3vmin,1em)}}html.reveal-print *{-webkit-print-color-adjust:exact}html.reveal-print{width:100%;height:100%;overflow:visible}html.reveal-print body{border:0;padding:0;overflow:visible;float:none!important;margin:0 auto!important}html.reveal-print .nestedarrow,html.reveal-print .reveal .controls,html.reveal-print .reveal .progress,html.reveal-print .reveal .playback,html.reveal-print .reveal.overview,html.reveal-print .state-background{display:none!important}html.reveal-print .reveal pre code{overflow:hidden!important}html.reveal-print .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.reveal-print .reveal .slides{pointer-events:initial;perspective:none;perspective-origin:50%;display:block;position:static;top:auto;left:auto;overflow:visible;zoom:1!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}html.reveal-print .reveal .slides .pdf-page{z-index:1;page-break-after:always;position:relative;overflow:hidden}html.reveal-print .reveal .slides .pdf-page:last-of-type{page-break-after:avoid}html.reveal-print .reveal .slides section{min-height:1px;visibility:visible!important;box-sizing:border-box!important;opacity:1!important;transform-style:flat!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;transform:none!important}html.reveal-print .reveal section.stack{page-break-after:avoid!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;position:relative!important}html.reveal-print .reveal img{box-shadow:none}html.reveal-print .reveal .backgrounds{display:none}html.reveal-print .reveal .slide-background{width:100%;height:100%;position:absolute;top:0;left:0;z-index:auto!important;display:block!important}html.reveal-print .reveal.show-notes{max-width:none;max-height:none}html.reveal-print .reveal .speaker-notes-pdf{z-index:100;width:100%;height:auto;max-height:none;display:block;inset:auto}html.reveal-print .reveal .speaker-notes-pdf[data-layout=separate-page]{color:inherit;page-break-after:always;background-color:#0000;border:0;padding:20px;position:relative}html.reveal-print .reveal .slide-number-pdf{visibility:visible;font-size:14px;display:block;position:absolute}html.reveal-print .aria-status{display:none}@media print{html:not(.print-pdf){width:auto;height:auto;overflow:visible}html:not(.print-pdf) body{margin:0;padding:0;overflow:visible}html:not(.print-pdf) .reveal{background:#fff;font-size:20pt}html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .state-background,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .slide-number{display:none!important}html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td,html:not(.print-pdf) .reveal li{color:#000;font-size:20pt!important}html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6{text-align:left;letter-spacing:normal;height:auto;line-height:normal;color:#000!important}html:not(.print-pdf) .reveal h1{font-size:28pt!important}html:not(.print-pdf) .reveal h2{font-size:24pt!important}html:not(.print-pdf) .reveal h3{font-size:22pt!important}html:not(.print-pdf) .reveal h4{font-variant:small-caps;font-size:22pt!important}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-style:italic;font-size:20pt!important}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{font-weight:700;text-decoration:underline;color:#000!important}html:not(.print-pdf) .reveal ul,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal p{visibility:visible;width:auto;height:auto;margin:0;display:block;position:static;overflow:visible;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{perspective:none;perspective-origin:50%;zoom:1!important;text-align:left!important;width:auto!important;height:auto!important;margin-top:0!important;margin-left:0!important;padding:0!important;display:block!important;position:static!important;top:0!important;left:0!important;overflow:visible!important;transform:none!important}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;width:auto!important;height:auto!important;margin-top:0!important;margin-left:0!important;padding:60px 20px!important;transition:none!important;display:block!important;position:static!important;top:0!important;left:0!important;overflow:visible!important;transform:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal .slides section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal .slides section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{box-shadow:none;background:#fff;border:1px solid #666;margin:15px 0;display:block}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{white-space:pre-wrap;word-wrap:break-word;word-break:break-word;max-height:100%;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}.questions-page{animation:.35s both questions-page-in}.questions-head{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-start;gap:32px;padding-bottom:24px;display:flex}.questions-head>div:first-child{min-width:0}.questions-head h1{letter-spacing:-.045em;color:var(--ink);margin:0;font-size:clamp(30px,3.6vw,45px);font-weight:700;line-height:1.04}.questions-head>div:first-child>p{max-width:66ch;color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.65}.questions-stamp{border:1px solid var(--line-strong);border-top:3px solid var(--ink);background:var(--surface-raised);flex:none;width:208px;padding:13px 14px}.questions-stamp .mono{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:9.5px;display:block}.questions-stamp strong{letter-spacing:-.02em;margin:3px 0 8px;font-size:14px;font-weight:600;line-height:1.3;display:block}.questions-stamp-note{border-top:1px solid var(--line);color:var(--faint);font-family:var(--font-mono);margin:9px 0 0;padding-top:8px;font-size:9px;line-height:1.5}.questions-controls{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-bottom:16px;display:flex}.questions-filter{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.questions-filter-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:9px}.questions-filter-group{flex-wrap:wrap;gap:4px;display:flex}.questions-filter button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:1px;align-items:center;gap:6px;padding:7px 11px;font-size:11px;font-weight:600;line-height:1.2;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.questions-filter button:hover{border-color:var(--line-strong);background:#efefe6}.questions-filter button:active{transform:translateY(1px)}.questions-filter button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.questions-filter button[aria-pressed=true]:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.questions-filter button[aria-pressed=true]:focus-visible{outline-color:var(--signal)}.questions-filter-count{font-family:var(--font-mono);opacity:.72;font-size:9px;font-weight:500}.questions-count{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;margin:0;font-size:9.5px}.questions-stage{margin-top:0}.questions-question{animation:.24s both questions-question-in-forward}.questions-question[data-direction=backward]{animation-name:questions-question-in-backward}.questions-card{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:2px;margin-top:20px;scroll-margin-top:78px;overflow:hidden}.questions-card-head{border-bottom:1px solid var(--line);background:#f2f2e9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.questions-meta{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.questions-position{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-right:2px;font-size:9px}.questions-tag{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.03em;padding:3px 7px;font-size:9px;line-height:1.4}.questions-kind{border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex:none;align-items:center;gap:5px;margin-left:auto;padding:3px 8px;font-size:9px;line-height:1.4;display:inline-flex}.questions-kind svg{width:12px;height:12px}.questions-body{padding:20px 18px 22px}.questions-body h2{max-width:72ch;color:var(--ink);letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(18px,2vw,22px);font-weight:600;line-height:1.42}.questions-body h2:focus{outline:none}.questions-body h2:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.questions-options{gap:6px;max-width:860px;display:grid}.questions-option{border:1px solid var(--line);width:100%;color:var(--ink-2);text-align:left;background:0 0;border-radius:1px;grid-template-columns:24px minmax(0,1fr) 18px;align-items:start;gap:10px;padding:10px 11px;font-size:13px;line-height:1.5;transition:background .18s,border-color .18s,color .18s,transform .18s;display:grid}.questions-option:hover{border-color:var(--line-strong);background:#f1f1e8}.questions-option:active{transform:translateY(1px)}.questions-option.is-selected{border-color:var(--ink);background:var(--ink);color:#fff}.questions-option.is-selected:hover{background:#2a302b}.questions-option.is-correct{border-color:var(--ok);background:var(--ok-soft);color:#174a35}.questions-option.is-correct:hover{background:#d7e9de}.questions-option.is-wrong{border-color:var(--bad);background:var(--bad-soft);color:#742415}.questions-option.is-wrong:hover{background:#f2d6ce}.questions-option.is-selected:focus-visible,.questions-option.is-correct:focus-visible,.questions-option.is-wrong:focus-visible{outline-color:var(--signal)}.questions-letter{width:22px;height:22px;font-family:var(--font-mono);border:1px solid;place-items:center;font-size:9px;line-height:1;display:grid}.questions-option-mark{justify-self:end;width:16px;height:16px;margin-top:3px}.questions-hint{color:var(--faint);margin:13px 0 0;font-size:11.5px;line-height:1.55}.quiz-feedback.questions-feedback{max-width:860px;margin-top:14px}.questions-answer-line{font-weight:600}.quiz-feedback .questions-explanation{margin-top:7px;font-weight:400}.questions-db{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 12px;font-size:9.5px;display:inline-flex}.questions-db svg{width:13px;height:13px;color:var(--accent)}.questions-solution{border-top:1px solid var(--line);margin-top:14px}.questions-solution-toggle{width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;font-weight:600;transition:color .18s;display:flex}.questions-solution-toggle:hover{color:var(--accent)}.questions-solution-toggle svg{flex:none;width:15px;height:15px;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.questions-solution-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.questions-reveal{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1),opacity .2s;display:grid}.questions-reveal.is-open{opacity:1;grid-template-rows:1fr}.questions-reveal-inner{min-height:0;overflow:hidden}.questions-code{border:1px solid var(--rail-line);background:var(--code);color:var(--code-text);border-radius:1px;overflow:hidden}.questions-code-bar{border-bottom:1px solid var(--rail-line);background:var(--code-2);color:var(--rail-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:9px;display:flex}.questions-code pre{overflow-wrap:anywhere;color:var(--code-text);font-family:var(--font-mono);white-space:pre-wrap;margin:0;padding:12px 13px;font-size:12px;line-height:1.6}.questions-code-note{color:var(--faint);margin:8px 0 4px;font-size:11px;line-height:1.55}.questions-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.questions-nav .button{min-width:112px}.questions-nav .button-primary:focus-visible{outline-color:var(--signal)}.questions-nav-status{min-width:0;color:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.questions-empty{border:1px dashed var(--line-strong);background:var(--surface);color:var(--muted);text-align:center;margin-top:20px;padding:32px 20px;font-size:13px}@keyframes questions-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes questions-question-in-forward{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes questions-question-in-backward{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@media (width<=900px){.questions-head{flex-direction:column;gap:18px}.questions-stamp{border-top-width:1px;border-left:3px solid var(--ink);width:100%}}@media (width<=760px){.questions-card-head{padding:11px 14px}.questions-kind{margin-left:0}.questions-body{padding:16px 14px 18px}.questions-option{padding:10px;font-size:12.5px}.questions-nav{flex-wrap:wrap}}@media (width<=560px){.questions-filter{gap:6px;width:100%}.questions-filter-label,.questions-filter-group{width:100%}.questions-filter button{flex:auto;justify-content:center}.questions-count{width:100%}.questions-body h2{font-size:18px}.questions-option{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px}.questions-nav{grid-template-columns:1fr 1fr;display:grid}.questions-nav-status{display:none}.questions-nav .button{width:100%;min-width:0;padding:10px 8px}.questions-code pre{font-size:11px}}@media (prefers-reduced-motion:reduce){.questions-page,.questions-question{animation:none}.questions-filter button,.questions-option,.questions-solution-toggle,.questions-solution-toggle svg,.questions-reveal{transition:none}}@media (forced-colors:active){.questions-stamp,.questions-card,.questions-tag,.questions-kind,.questions-filter button,.questions-option,.questions-code,.questions-empty{border-color:canvastext}.questions-filter button[aria-pressed=true],.questions-option.is-selected{border-color:highlight}.questions-option.is-correct,.questions-option.is-wrong{border-width:2px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#e8e9e0;--surface:#f7f7f1;--surface-raised:#fdfdf8;--ink:#181c19;--ink-2:#3f463f;--muted:#5e665d;--faint:#666e64;--line:#d0d2c6;--line-strong:#a9aea1;--accent:#b23c14;--accent-hover:#8f2d0d;--accent-soft:#f9e4da;--signal:#e8b94a;--signal-soft:#f7edcd;--ok:#1f6a4a;--ok-soft:#dfeee5;--bad:#a83322;--bad-soft:#f7e2dc;--code:#171b18;--code-2:#212821;--code-text:#e8ece3;--rail:#1a1f1b;--rail-raised:#232a23;--rail-line:#343c33;--rail-ink:#eef0e7;--rail-muted:#9ca398;--focus:#1f5c46;--font-ui:"Archivo", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "Consolas", monospace;font-family:var(--font-ui);color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}::selection{background:var(--signal);color:var(--ink)}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}select:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p,ul,ol,pre{margin-top:0}:where(button,a,select,input,textarea,[tabindex="0"]):focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.rail :focus-visible,.button-primary:focus-visible,.button-danger:focus-visible,.sql-toolbar .sql-run:focus-visible,.quiz-option.is-selected:focus-visible,.view-switch button.is-active:focus-visible{outline-color:var(--signal)}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:9px 12px;font-size:12px;font-weight:600;transition:transform .18s;position:fixed;top:10px;left:12px;transform:translateY(-150%)}.skip-link:focus-visible{outline-offset:3px;transform:translateY(0)}.mono{font-family:var(--font-mono)}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100dvh}.rail{z-index:40;background:var(--rail);width:300px;color:var(--rail-ink);border-right:1px solid #0e120f;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.rail-top{border-bottom:1px solid var(--rail-line);align-items:center;gap:12px;padding:20px 18px;display:flex}.brand{color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark{background:#151a16;border:1px solid #4b5549;gap:3px;width:38px;height:38px;padding:9px 8px;display:grid}.brand-mark i{background:#8d9789;height:2px;display:block}.brand-mark i:last-child{background:var(--signal);width:58%}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{letter-spacing:-.02em;color:#fff;font-size:15px;font-weight:700}.brand-copy small{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rail-muted);margin-top:2px;font-size:9px}.rail-close{border:1px solid var(--rail-line);width:34px;height:34px;color:var(--rail-ink);background:0 0;place-items:center;margin-left:auto;display:none}.rail-close svg{width:17px;height:17px}.rail-scroll{flex:1;min-height:0;padding:22px 16px 18px;overflow-y:auto}.rail-kicker{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--rail-muted);justify-content:space-between;align-items:center;padding:0 8px 12px;font-size:9px;display:flex}.rail-kicker .mono{color:#858f82}.week-nav{border-top:1px solid var(--rail-line)}.week-group{border-bottom:1px solid var(--rail-line)}.week-button{width:100%;color:var(--rail-ink);text-align:left;background:0 0;border:0;grid-template-columns:30px minmax(0,1fr) 16px;align-items:start;gap:10px;padding:14px 8px;transition:background .2s;display:grid}.week-button:hover{background:var(--rail-raised)}.week-index{font-family:var(--font-mono);letter-spacing:.04em;color:#818b7e;padding-top:2px;font-size:10px;transition:color .2s}.week-copy{min-width:0}.week-copy strong{letter-spacing:-.01em;color:#d9ded3;font-size:13px;font-weight:600;line-height:1.32;display:block}.week-copy small{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#818b7e;margin-top:5px;font-size:9px;display:block}.week-group.is-current .week-copy strong{color:#fff}.week-group.is-current .week-index{color:var(--signal)}.week-chevron{color:#778174;width:15px;height:15px;margin-top:2px;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.week-button[aria-expanded=true] .week-chevron{color:var(--signal);transform:rotate(180deg)}.outline{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1),opacity .2s;display:grid}.outline.is-open{opacity:1;grid-template-rows:1fr}.outline-inner{min-height:0;padding-left:38px;overflow:hidden}.outline button{color:#aab2a5;text-align:left;background:0 0;border:0;border-left:1px solid #40483d;grid-template-columns:15px minmax(0,1fr) 14px;align-items:start;gap:9px;width:100%;padding:7px 7px 7px 10px;transition:background .18s,color .18s,border-color .18s;display:grid}.outline button:hover{background:var(--rail-raised);color:#fff}.outline button.is-current{border-left-color:var(--signal);color:#fff;background:#2a322a}.outline-inner button:last-child{margin-bottom:13px}.outline-mark{color:#17201a;border:1px solid #596455;border-radius:50%;place-items:center;width:14px;height:14px;margin-top:2px;transition:background .18s,border-color .18s;display:grid}.outline-mark svg{color:#c6cec1;stroke-width:3px;width:9px;height:9px}.outline button.is-current .outline-mark svg{color:var(--ink)}.outline-mark i{background:0 0;border-radius:50%;width:3px;height:3px}.outline button.is-current .outline-mark{border-color:var(--signal);background:var(--signal)}.outline button.is-current .outline-mark i{background:var(--ink)}.outline-title{font-size:11.5px;line-height:1.4}.outline-icon{color:#7e897a;width:12px;height:12px;margin-top:2px}.outline button.is-current .outline-icon{color:var(--signal)}.rail-bottom{border-top:1px solid var(--rail-line);background:#151a16;flex:none;gap:14px;padding:16px;display:grid}.rail-progress-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rail-muted);justify-content:space-between;align-items:baseline;font-size:9px;display:flex}.rail-progress-head strong{color:var(--signal);font-size:11px;font-weight:500}.meter{background:#333b32;height:4px;margin-top:8px;overflow:hidden}.meter i{background:var(--signal);height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1);display:block}.rail-progress p{font-family:var(--font-mono);letter-spacing:.02em;color:#818b7e;margin:7px 0 0;font-size:9px}.rail-sql{background:var(--rail-raised);width:100%;color:var(--rail-ink);text-align:left;border:1px solid #3d463b;grid-template-columns:18px minmax(0,1fr) 15px;align-items:center;gap:10px;padding:11px;transition:background .2s,border-color .2s;display:grid}.rail-sql:hover{background:#2b342b;border-color:#5c6857}.rail-sql>svg:first-child{width:17px;height:17px;color:var(--signal)}.rail-sql>svg:last-child{color:#879282;width:15px;height:15px;transition:transform .2s}.rail-sql:hover>svg:last-child{transform:translate(2px)}.rail-sql strong,.rail-sql small{display:block}.rail-sql strong{font-size:11.5px;font-weight:600}.rail-sql small{font-family:var(--font-mono);color:#8e9989;margin-top:3px;font-size:9px}.rail-sql.is-current{border-color:#596752}.scrim{z-index:35;background:#0e120e8a;animation:.2s both fade-in;position:fixed;inset:0}.workspace{min-height:100dvh;margin-left:300px}.workspace-bar{z-index:30;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:18px;height:62px;padding:0 clamp(18px,3vw,40px);display:flex;position:sticky;top:0}.menu-button{border:1px solid var(--line-strong);background:var(--surface-raised);width:36px;height:36px;color:var(--ink);place-items:center;padding:0;display:none}.menu-button svg{width:18px;height:18px}.crumb{min-width:0;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:9.5px;display:flex}.crumb b{color:var(--faint);font-weight:400}.crumb-current{text-overflow:ellipsis;color:var(--ink);overflow:hidden}.bar-actions{align-items:center;gap:18px;margin-left:auto;display:flex}.local-state{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;font-size:9px;display:inline-flex}.local-state i{background:var(--ok);border-radius:50%;width:6px;height:6px}.view-switch{border:1px solid var(--line-strong);background:var(--surface-raised);padding:2px;display:inline-flex}.view-switch button{color:var(--muted);letter-spacing:.01em;background:0 0;border:0;padding:6px 13px;font-size:11px;font-weight:600;transition:background .18s,color .18s}.view-switch button:hover{color:var(--ink);background:#efefe5}.view-switch button.is-active{background:var(--ink);color:#fff}.main{width:100%;max-width:1240px;margin:0 auto;padding:38px clamp(20px,4.5vw,62px) 88px}.main:focus{outline:none}.main:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.lesson-intro{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;margin-bottom:22px;padding-bottom:24px;animation:.35s both intro-in;display:grid}.eyebrow{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:12px;font-size:9px;display:flex}.eyebrow b{color:var(--faint);font-weight:400}.lesson-intro h1,.sandbox-head h1{letter-spacing:-.045em;color:var(--ink);margin:0;font-size:clamp(30px,3.6vw,45px);font-weight:700;line-height:1.04}.lesson-intro>div>p,.sandbox-head>div>p{max-width:62ch;color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.65}.intro-progress{border-left:1px solid var(--line);width:196px;padding-left:18px}.intro-progress>.mono{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:9px;display:block}.intro-progress strong{font-family:var(--font-mono);letter-spacing:-.05em;color:var(--ink);margin:3px 0 8px;font-size:31px;font-weight:500;line-height:1;display:block}.intro-progress strong em{letter-spacing:0;color:var(--faint);font-size:13px;font-style:normal}.intro-progress-note{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);margin-top:7px;font-size:9px;display:block}.sheet{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:2px;animation:.4s both sheet-rise;overflow:hidden;box-shadow:inset 0 1px #fff9}.sheet-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:52px;padding:0 24px;display:flex}.sheet-step{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:9px;display:flex}.step-number{background:var(--ink);color:#fff;letter-spacing:0;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.sheet-meta{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);align-items:center;gap:12px;font-size:9px;display:flex}.sheet-line{background:var(--line);width:120px;height:3px;display:block;overflow:hidden}.sheet-line i{background:var(--accent);height:100%;transition:width .35s cubic-bezier(.2,.8,.2,1);display:block}.deck-frame{min-height:460px}.deck-frame .reveal{height:auto;min-height:460px;color:var(--ink);font-family:var(--font-ui);font-size:16px}.deck-frame .reveal h2,.deck-frame .reveal h3{text-transform:none;text-shadow:none}.deck-frame .reveal .slides{text-align:left;width:100%;height:auto;position:relative;inset:auto;overflow:visible}.deck-frame .reveal .slides>section{width:100%;height:auto;min-height:460px;padding:0;position:relative;inset:auto;display:none!important}.deck-frame .reveal .slides>section.present{pointer-events:auto;animation:.34s cubic-bezier(.2,.8,.2,1) both slide-in-forward;display:block!important}.deck-frame[data-direction=backward] .reveal .slides>section.present{animation-name:slide-in-backward}.slide{padding:42px clamp(24px,4.5vw,58px) 48px}.slide-layout{min-width:0}.slide-layout.has-aside{grid-template-columns:minmax(0,1fr) minmax(280px,350px);align-items:start;gap:clamp(28px,4.5vw,58px);display:grid}.slide-main{min-width:0;max-width:760px}.slide-code{min-width:0;max-width:880px}.has-aside .slide-main{max-width:none}@media (width>=1181px){.slide-layout.has-aside.has-code{grid-template-areas:"main aside""code code";row-gap:30px}.slide-layout.has-aside.has-code .slide-main{grid-area:main}.slide-layout.has-aside.has-code .slide-aside{grid-area:aside}.slide-layout.has-aside.has-code .slide-code{grid-area:code;max-width:none}.slide-layout.has-aside.has-code .slide-code .code-card{margin-top:0}}.slide-kicker{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin:0 0 10px;font-size:9px;display:flex}.slide-kicker span{color:var(--faint);align-items:center;gap:10px;display:inline-flex}.slide-kicker span:after{content:"";background:var(--line-strong);width:22px;height:1px}.slide-main h2{letter-spacing:-.035em;color:var(--ink);text-wrap:balance;margin:0 0 20px;font-size:clamp(25px,2.7vw,35px);font-weight:700;line-height:1.12}.prose{color:var(--ink-2);font-size:16px;line-height:1.8}.prose p{max-width:70ch;margin:0 0 15px}.prose p:last-child{margin-bottom:0}.slide-aside{min-width:0;animation:.4s 80ms both aside-in}.code-card{background:var(--code);color:var(--code-text);border:1px solid #0d100e;border-radius:2px;margin-top:24px;overflow:hidden;container-type:inline-size}.code-card-bar{background:var(--code-2);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#a4afa0;border-bottom:1px solid #303830;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;font-size:9px;display:flex}.code-lang{color:var(--signal)}.code-card pre{overscroll-behavior-x:contain;max-height:380px;font-family:var(--font-mono);white-space:pre;tab-size:2;margin:0;padding:16px;font-size:12.5px;line-height:1.72;overflow:auto}@container (width<=620px){.code-card pre{white-space:pre-wrap;overflow-wrap:break-word}}.code-card pre:focus-visible{outline-color:var(--signal)}.code-card .tok-keyword,.code-card .tok-modifier,.code-card .tok-operatorKeyword{color:#f3a47f}.code-card .tok-string,.code-card .tok-string2{color:#b9dca9}.code-card .tok-number,.code-card .tok-bool,.code-card .tok-null{color:#f2ce7b}.code-card .tok-comment,.code-card .tok-lineComment,.code-card .tok-blockComment{color:#8b9788;font-style:italic}.code-card .tok-operator,.code-card .tok-punctuation{color:#c6b3e8}.code-card .tok-variableName,.code-card .tok-name,.code-card .tok-propertyName{color:#dce8d6}.code-card .tok-typeName,.code-card .tok-className{color:#9fd3c7}.quiz{border-top:2px solid var(--ink);padding-top:14px}.quiz-top{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.quiz-top .mono{color:var(--faint);font-size:9.5px}.quiz h3{letter-spacing:-.015em;color:var(--ink);margin:13px 0 16px;font-size:17px;font-weight:600;line-height:1.45}.quiz-options{gap:6px;display:grid}.quiz-option{border:1px solid var(--line);width:100%;color:var(--ink-2);text-align:left;background:0 0;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:10px 11px;font-size:12.5px;line-height:1.45;transition:background .18s,border-color .18s,color .18s;display:grid}.quiz-option:hover{border-color:var(--line-strong);background:#f1f1e8}.quiz-option.is-selected{border-color:var(--ink);background:var(--ink);color:#fff}.quiz-letter{width:22px;height:22px;font-family:var(--font-mono);border:1px solid;place-items:center;font-size:9px;line-height:1;display:grid}.quiz-feedback{border-left:3px solid;grid-template-columns:20px minmax(0,1fr);gap:10px;margin-top:13px;padding:12px;animation:.22s both feedback-in;display:grid}.quiz-feedback strong{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:500;display:block}.quiz-feedback p{margin:4px 0 0;font-size:12.5px;line-height:1.55}.quiz-feedback.is-correct{border-color:var(--ok);background:var(--ok-soft);color:#174a35}.quiz-feedback.is-incorrect{border-color:var(--bad);background:var(--bad-soft);color:#742415}.feedback-icon{place-items:start;padding-top:1px;display:grid}.feedback-icon svg{width:15px;height:15px}.lab{border-top:1px solid var(--line-strong);margin-top:36px;padding-top:22px}.lab-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.lab-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:9px;display:block}.lab-head p{max-width:68ch;color:var(--ink-2);margin:0;font-size:15px;line-height:1.62}.db-chip{background:var(--signal-soft);color:#5b450b;font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border:1px solid #d9c37f;flex:none;align-items:center;gap:6px;padding:6px 9px;font-size:9px;display:inline-flex}.db-chip svg{width:12px;height:12px}.solution-drawer{margin-top:16px}.solution-toggle{border:0;border-top:1px solid var(--line);width:100%;color:var(--ink-2);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;font-weight:600;transition:color .18s;display:flex}.solution-toggle:hover{color:var(--accent)}.solution-toggle svg{width:15px;height:15px;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.solution-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.solution-reveal{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1),opacity .2s;display:grid}.solution-reveal.is-open{opacity:1;grid-template-rows:1fr}.solution-reveal-inner{min-height:0;overflow:hidden}.solution-reveal .code-card{margin:2px 0 4px}.sheet-foot{border-top:1px solid var(--line);background:#f2f2e9;justify-content:space-between;align-items:center;gap:18px;padding:13px 24px;display:flex}.key-hint{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.key-hint span{margin-left:4px}kbd{border:1px solid var(--line-strong);background:var(--surface-raised);min-width:19px;height:19px;box-shadow:0 1px 0 var(--line);font-family:var(--font-mono);color:var(--ink-2);place-items:center;padding:0 4px;font-size:9px;display:inline-grid}.sheet-controls{align-items:center;gap:8px;display:flex}.button{border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink-2);letter-spacing:.005em;border-radius:1px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:11.5px;font-weight:600;line-height:1.2;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.button svg{width:15px;height:15px}.button:hover:not(:disabled){border-color:var(--ink);background:#f0f0e6}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{border-color:var(--ink);background:var(--ink);color:#fff}.button-primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.button-quiet{background:0 0}.button-danger{border-color:var(--bad);background:var(--bad);color:#fff}.button-danger:hover:not(:disabled){background:#7f2415;border-color:#7f2415}.sandbox-page{animation:.35s both intro-in}.sandbox-head{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-start;gap:32px;padding-bottom:24px;display:flex}.sandbox-head>div:first-child{min-width:0}.sandbox-stamp{border:1px solid var(--line-strong);border-top:3px solid var(--ink);background:var(--surface-raised);flex:none;width:196px;padding:13px 14px}.sandbox-stamp .mono{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:9.5px;display:block}.sandbox-stamp strong{letter-spacing:-.02em;margin:3px 0 8px;font-size:14px;font-weight:600;display:block}.stamp-status{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);align-items:center;gap:6px;font-size:9px;display:inline-flex}.stamp-status i{background:var(--ok);border-radius:50%;width:6px;height:6px}.sandbox-note{border-bottom:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:9px;margin:0;padding:12px 0 14px;font-size:11.5px;line-height:1.55;display:flex}.sandbox-note svg{width:15px;height:15px;color:var(--accent);flex:none;margin-top:1px}.sandbox-page>.sql-workspace{margin-top:22px}.sql-workspace{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:2px;padding:22px;overflow:hidden}.sql-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:16px;padding-bottom:16px;display:flex}.sql-heading{min-width:0}.sql-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;font-size:9.5px;display:block}.sql-heading h2{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:20px;font-weight:700;line-height:1.15}.sql-heading p{color:var(--muted);margin:5px 0 0;font-size:11.5px;line-height:1.5}.sql-database-label{min-width:210px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none;gap:6px;font-size:9.5px;display:grid}.sql-database-label select{border:1px solid var(--line-strong);appearance:none;background-color:var(--surface);width:100%;color:var(--ink);font-family:var(--font-ui);letter-spacing:0;text-transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233f463f' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:1px;padding:8px 31px 8px 10px;font-size:11.5px;font-weight:500;transition:border-color .18s}.sql-database-label select:hover:not(:disabled){border-color:var(--ink)}.sql-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sql-toolbar-main,.sql-toolbar-utils{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sql-toolbar-utils{margin-left:auto}.sql-toolbar button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:1px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.sql-toolbar button svg{width:13px;height:13px}.sql-toolbar button:hover:not(:disabled){border-color:var(--line-strong);background:#efefe5}.sql-toolbar button:active:not(:disabled){transform:translateY(1px)}.sql-toolbar .sql-run{border-color:var(--accent);background:var(--accent);color:#fff}.sql-toolbar .sql-run:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.sql-toolbar .sql-stop{color:var(--bad)}.sql-toolbar .sql-reset{color:var(--bad);margin-left:2px}.sql-help{border-left:2px solid var(--line);color:var(--muted);margin:0 0 14px;padding-left:11px;font-size:10.5px;line-height:1.65}.help-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-right:6px;font-size:9.5px;display:inline-block}.sql-help kbd{min-width:17px;height:17px;font-size:8px}.sql-editor-wrap{border:1px solid var(--line-strong);background:var(--surface)}.sql-editor-bar{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#efefe5;justify-content:space-between;align-items:center;gap:12px;padding:7px 11px;font-size:9.5px;display:flex}.editor-file{color:var(--ink-2)}.editor-saved{color:var(--faint);align-items:center;gap:5px;display:inline-flex}.editor-saved:before{content:"";background:var(--ok);border-radius:50%;width:5px;height:5px}.sql-editor{background:#fbfbf7;transition:box-shadow .18s}.sql-editor:focus-within{box-shadow:inset 0 0 0 2px var(--focus)}.sql-editor .cm-editor{border:0;border-radius:0;font-size:12.5px}.sql-editor .cm-editor.cm-focused{outline:none}.sql-editor .cm-scroller{min-height:120px;font-family:var(--font-mono)}.sql-editor .cm-content{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='16' viewBox='0 0 12 16'%3E%3Cpath d='M3 1h6M6 1v14M3 15h6' fill='none' stroke='white' stroke-width='3'/%3E%3Cpath d='M3 1h6M6 1v14M3 15h6' fill='none' stroke='%23181c19' stroke-width='1.4'/%3E%3C/svg%3E") 6 8,text}@media (forced-colors:active){.sql-editor .cm-content{cursor:text}}.cm-editor .cm-panels,.cm-editor .cm-tooltip{font-family:var(--font-ui)}.sql-status-row{align-items:flex-start;gap:8px;margin-top:11px;display:flex}.status-dot{background:var(--ok);border-radius:50%;flex:none;width:6px;height:6px;margin-top:5px}.sql-status-row[data-phase=loading] .status-dot,.sql-status-row[data-phase=saving] .status-dot{background:var(--signal)}.sql-status-row[data-phase=running] .status-dot{background:var(--accent);animation:1.1s ease-in-out infinite pulse}.sql-status-row[data-phase=error] .status-dot{background:var(--bad)}.sql-status{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.sql-error,.sql-warning{border-left:3px solid;align-items:flex-start;gap:8px;margin:11px 0 0;padding:9px 11px;font-size:11.5px;line-height:1.55;display:flex}.sql-error{border-color:var(--bad);background:var(--bad-soft);color:#742415}.sql-warning{background:var(--signal-soft);color:#59430e;border-color:#b8860b}.sql-error svg,.sql-warning svg{flex:none;width:14px;height:14px;margin-top:1px}.sql-retry{margin-top:9px}.sql-feedback{border-left:3px solid var(--line-strong);background:#f0f0e7;grid-template-columns:20px minmax(0,1fr);gap:9px;margin-top:11px;padding:11px;font-size:12px;line-height:1.55;animation:.22s both feedback-in;display:grid}.sql-feedback p{margin:0}.sql-feedback-correct{border-color:var(--ok);background:var(--ok-soft);color:#174a35}.sql-feedback-incorrect{border-color:var(--bad);background:var(--bad-soft);color:#742415}.sql-feedback-unavailable{background:var(--signal-soft);color:#59430e;border-color:#b8860b}.sql-grading-help{border-left:2px solid var(--line-strong);color:var(--muted);background:#f1f1e8;margin:11px 0 0;padding:9px 11px;font-size:10.5px;line-height:1.6}.sql-grading-help strong{color:var(--ink-2)}.sql-results{gap:14px;margin-top:16px;display:grid}.sql-result{border:1px solid var(--line-strong);border-radius:1px;min-width:0;animation:.2s both feedback-in;overflow:hidden}.sql-table-scroll{max-height:320px;overflow:auto}.sql-table-scroll:focus-visible{outline-offset:-2px}.sql-table{border-collapse:collapse;width:100%;min-width:100%;font-size:11.5px}.sql-table caption{border-bottom:1px solid var(--line);color:var(--ink-2);text-align:left;font-family:var(--font-mono);letter-spacing:.03em;background:#efefe5;padding:10px 12px;font-size:9px}.sql-table th,.sql-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:7px 10px}.sql-table th:last-child,.sql-table td:last-child{border-right:0}.sql-table th{z-index:1;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:none;background:#efefe5;font-size:9px;font-weight:500;position:sticky;top:0}.sql-table tbody tr:nth-child(2n){background:#f7f7ef}.sql-table tbody tr:hover{background:#f1f0e4}.sql-table td{color:var(--ink-2);font-family:var(--font-mono);font-size:11px}.sql-null{color:var(--faint);font-style:italic}.sql-blob{color:#6b4b84}.sql-empty-string{color:var(--faint);font-style:italic}.sql-pagination{border-top:1px solid var(--line);background:#f2f2e9;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:8px 10px;display:flex}.sql-pagination span{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:9px}.sql-pagination button{border:1px solid var(--line);background:var(--surface-raised);color:var(--ink-2);padding:6px 10px;font-size:10px;font-weight:600;transition:border-color .18s,background .18s}.sql-pagination button:hover:not(:disabled){border-color:var(--ink);background:#efefe5}.sql-empty{border:1px dashed var(--line-strong);color:var(--muted);margin:0;padding:18px;font-size:11.5px;line-height:1.6}.sql-empty strong{color:var(--ink-2)}.sql-schema{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.sql-schema-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.sql-schema-head strong{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:500}.sql-schema-head .mono{color:var(--faint);font-size:9px}.sql-schema p{color:var(--muted);margin:0;font-size:10.5px;line-height:1.55}.schema-list{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.schema-list li{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-family:var(--font-mono);padding:3px 7px;font-size:9.5px}.sql-workspace-compact{padding:16px}.sql-workspace-compact .sql-header{margin-bottom:12px;padding-bottom:12px}.sql-workspace-compact .sql-heading h2{font-size:16px}.sql-workspace-compact .sql-heading p{display:none}.sql-workspace-compact .sql-database-label{min-width:190px}.sql-workspace-compact .sql-help{font-size:10px}.sql-workspace-compact .sql-editor .cm-scroller{min-height:100px}.sql-dialog{border:1px solid var(--ink);background:var(--surface-raised);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:2px;padding:0;overflow:auto;box-shadow:0 28px 70px #0e120e57}.sql-dialog[open]{animation:.2s cubic-bezier(.2,.8,.2,1) both dialog-in}.sql-dialog.is-closing{animation:.16s ease-in both dialog-out}.sql-dialog::backdrop{background:#0e120e94;animation:.2s both fade-in}.sql-dialog.is-closing::backdrop{animation:.16s ease-in both fade-out}.sql-dialog-body{border-top:4px solid var(--bad);padding:22px}.dialog-kicker{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bad);font-size:9.5px;display:block}.sql-dialog h3{letter-spacing:-.03em;margin:9px 0;font-size:21px;font-weight:700;line-height:1.2}.sql-dialog p{color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.65}.sql-dialog p strong{color:var(--ink)}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@keyframes intro-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sheet-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slide-in-forward{0%{opacity:0;transform:translate(15px)}to{opacity:1;transform:none}}@keyframes slide-in-backward{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:none}}@keyframes aside-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes feedback-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@keyframes dialog-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(4px)scale(.992)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}html,.rail-scroll,.outline,.sql-table-scroll,.cm-scroller,pre{scrollbar-width:thin;scrollbar-color:#a9aea1 transparent}.rail-scroll{scrollbar-color:#596455 transparent}@supports not (scrollbar-color:auto){::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#a9aea1 padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:#7e877b}.rail-scroll::-webkit-scrollbar-thumb{background:#596455 padding-box padding-box}}@media (width<=1180px){.slide-layout.has-aside{grid-template-columns:1fr;gap:30px}.intro-progress{width:176px}}@media (width<=900px){.rail{width:min(88vw,330px);transition:transform .28s cubic-bezier(.2,.8,.2,1);transform:translate(-101%);box-shadow:14px 0 38px #0a0e0a3d}.app-shell.nav-open .rail{transform:none}.rail-close{display:grid}.workspace{margin-left:0}.workspace-bar{gap:12px;height:58px;padding:0 16px}.menu-button{display:grid}.main{padding:28px 18px 80px}}@media (width<=760px){.lesson-intro{grid-template-columns:1fr;align-items:start;gap:18px}.intro-progress{border-top:1px solid var(--line);border-left:0;align-items:center;gap:10px;width:100%;padding:12px 0 0;display:flex}.intro-progress>.mono{font-size:9.5px}.intro-progress strong{margin:0;font-size:22px}.intro-progress strong em{font-size:11px}.intro-progress .meter{flex:1;min-width:50px;margin:0}.intro-progress-note{text-align:right;white-space:nowrap;margin:0}.slide-layout.has-aside{grid-template-columns:1fr;gap:28px}.slide{padding:32px 20px 38px}.sheet-bar{padding:0 18px}.sheet-foot{padding:12px 18px}.key-hint{display:none}.sheet-controls{justify-content:space-between;width:100%}.sandbox-head{flex-direction:column;gap:18px}.sandbox-stamp{border-top-width:1px;border-left:3px solid var(--ink);width:100%}.sql-workspace{padding:16px}.sql-header{flex-direction:column;align-items:stretch;gap:12px}.sql-database-label{min-width:0}.sql-toolbar{align-items:stretch}.sql-toolbar-utils{width:100%;margin-left:0}.sql-toolbar .sql-reset{margin-left:auto}.sql-table-scroll{max-height:270px}.sql-workspace-compact{padding:14px}}@media (width<=560px){.workspace-bar{gap:10px;padding:0 12px}.crumb span:not(.crumb-current),.crumb b,.local-state{display:none}.view-switch button{padding:6px 9px}.main{padding:22px 13px 72px}.lesson-intro h1,.sandbox-head h1{font-size:31px}.lesson-intro>div>p,.sandbox-head>div>p{font-size:13px}.sheet-bar{min-height:48px;padding:0 14px}.sheet-meta .sheet-line{width:70px}.sheet-step>span:last-child{display:none}.slide{padding:26px 16px 30px}.slide-main h2{font-size:25px}.prose{font-size:15px;line-height:1.75}.lab-head{flex-direction:column;gap:10px}.db-chip{align-self:flex-start}.sheet-foot{padding:11px 13px}.button{padding:9px 11px}.sql-workspace{padding:13px}.sql-heading h2{font-size:18px}.sql-toolbar-main,.sql-toolbar-utils{width:100%}.sql-toolbar-main button,.sql-toolbar-utils button{flex:1}.sql-toolbar .sql-reset{flex:1;margin-left:0}.sql-help{font-size:10px}.sql-editor-bar{font-size:8px}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.outline,.solution-reveal{transition:none}}@media (forced-colors:active){.rail{border-right:1px solid canvastext}.brand-mark,.week-button,.rail-sql,.button,.sql-toolbar button,.quiz-option,.sql-result,.sql-editor-wrap,.sql-dialog{border-color:canvastext}.brand-mark i,.meter i,.status-dot,.local-state i,.stamp-status i{background:canvastext}.sql-toolbar .sql-run,.view-switch button.is-active,.button-primary,.button-danger{color:buttontext;background:buttonface;border-color:buttontext}.code-card{border-color:canvastext}}
