html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}.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)}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}}:root{--bg:#080809;--fg:#f3f4f6;--muted:#a6acb3;--faint:#6e747c;--accent:#f0b866;--ok:#54e0a3;--bad:#ff6f91;--pending:#6cb6ff;--warn:#f0b866;--info:#b69cff;--on-accent:#0b0d10;--on-danger:#2a0610;--label-bg:#0a0c10d1;--label-stroke:#ffffff14;--line-dim:#2a3440;--line-active:#5ebbff;--serif:"Newsreader", Georgia, "Times New Roman", serif;--sans:"Pretendard", -apple-system, system-ui, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "Consolas", monospace;--orb-opacity:0%;--r-background-color:#080809;--r-main-color:#f3f4f6;--r-heading-color:#f3f4f6;--r-link-color:#6cb6ff}.reveal section[data-accent=amber]{--accent:#f0b866}.reveal section[data-accent=rose]{--accent:#ff6f91}.reveal section[data-accent=azure]{--accent:#6cb6ff}.reveal section[data-accent=emerald]{--accent:#54e0a3}.reveal section[data-accent=violet]{--accent:#b69cff}html,body{background:#080809}#ambient{z-index:0;pointer-events:none;opacity:.7;position:fixed;inset:0}.reveal-viewport{background:0 0}.reveal{font-family:var(--sans);color:var(--fg);z-index:2;position:relative}.reveal h1,.reveal h2,.reveal h3{color:var(--fg)}body:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(ellipse 26vw 22vh at 50% 54%, color-mix(in srgb, var(--accent) var(--orb-opacity), transparent), transparent 70%), radial-gradient(ellipse 58vw 48vh at 50% 44%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 70%), radial-gradient(ellipse 112% 112% at 50% 50%, transparent 46%, #000000a3);position:fixed;inset:0}.reveal .slides{z-index:2}.reveal .slides section{text-align:center}.reveal .slides>section>section.present:not([data-dense="1"]){box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;height:620px;padding:38px 86px 14px;display:flex}.reveal .slides>section>section.present:not([data-dense="1"])>*{flex:none}@keyframes rail-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rail-in-viz{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}.reveal .slides section.present:not([data-dense="1"])>.eyebrow{animation:.24s cubic-bezier(.22,1,.36,1) 60ms both rail-in}.reveal .slides section.present:not([data-dense="1"])>h2{animation:.3s cubic-bezier(.22,1,.36,1) .12s both rail-in}.reveal .slides section.present:not([data-dense="1"])>.viz{animation:.44s cubic-bezier(.22,1,.36,1) .19s both rail-in-viz}.reveal .slides section.present:not([data-dense="1"])>.takeaway{animation:.34s cubic-bezier(.22,1,.36,1) .26s both rail-in}@media (prefers-reduced-motion:reduce){.reveal .slides section.present:not([data-dense="1"])>.eyebrow,.reveal .slides section.present:not([data-dense="1"])>h2,.reveal .slides section.present:not([data-dense="1"])>.viz,.reveal .slides section.present:not([data-dense="1"])>.takeaway{animation:none}}.reveal .eyebrow{letter-spacing:.26em;color:color-mix(in srgb, var(--fg) 72%, transparent);margin-bottom:1.05rem;font-size:.75rem;font-weight:700}.reveal .eyebrow:before{content:"●";color:var(--accent);vertical-align:middle;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 70%, transparent));margin-right:.6em;font-size:.6em}.reveal .eyebrow:after{content:"";background:#ffffff1f;width:36px;height:1px;margin:.6rem auto 0;display:block}.reveal h1{letter-spacing:-.01em;word-break:keep-all;font-size:3.4rem;font-weight:700;line-height:1.18}.reveal h2{letter-spacing:-.005em;word-break:keep-all;text-wrap:balance;margin-bottom:1.35rem;font-size:2.5rem;font-weight:700;line-height:1.28}.reveal h1 em,.reveal h2 em{font-family:var(--serif);color:var(--accent);font-style:italic;font-weight:300}.reveal .bracket{color:var(--accent);text-shadow:0 0 16px color-mix(in srgb, var(--accent) 28%, transparent);font-weight:600}.reveal .bracket:before{content:"「";opacity:.55;font-weight:400}.reveal .bracket:after{content:"」";opacity:.55;font-weight:400}.reveal h1 .lat,.reveal h2 .lat{font-family:var(--serif);font-style:italic;font-weight:400}.reveal .subline{color:var(--muted);letter-spacing:.004em;word-break:keep-all;text-wrap:pretty;margin-top:1.2rem;font-size:1.08rem;line-height:1.85}.reveal .hint{color:var(--faint);margin-top:2.4rem;font-size:.85rem}.reveal .takeaway{color:#d2d7dd;font-family:var(--serif);word-break:keep-all;text-wrap:balance;max-width:720px;margin:1.3rem auto 0;font-size:1.2rem;font-style:italic;line-height:1.62}.reveal .slides section:not([data-dense="1"]) .takeaway:before{content:"";background:color-mix(in srgb, var(--accent) 60%, transparent);opacity:.8;border-radius:1px;width:26px;height:2px;margin:0 auto .7rem;display:block}.reveal .title-slide h1{margin-bottom:.4rem}.reveal .viz{width:100%;margin:.4rem auto;position:relative}.reveal .viz svg{width:100%;height:100%;overflow:visible}.reveal .viz canvas{display:block}.reveal .progress{height:3px;color:var(--accent);background:#ffffff0f;position:fixed;top:0;bottom:auto}.reveal .progress span{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 80%, transparent)}.reveal .slide-number{color:var(--faint);font-family:var(--serif);letter-spacing:.18em;background:0 0;font-size:17px;position:fixed;inset:18px 22px auto auto}.reveal .slide-number .slide-number-delimiter{margin:0 .35em}.reveal .viz .edge{stroke:#ffffff21;stroke-width:1px;fill:none}.reveal .viz .node text{fill:var(--fg);font-family:var(--sans);font-size:13px}.reveal .viz .axis text{fill:var(--faint);font-size:12px}.reveal .viz .axis path,.reveal .viz .axis line{stroke:#ffffff1f}.reveal .viz.stat-row{justify-content:center;align-items:flex-start;gap:3.4rem;display:flex}.reveal .stat-card{flex-direction:column;align-items:center;gap:.5rem;display:flex}.reveal .stat-num{font-family:var(--serif);color:var(--accent);text-shadow:0 0 28px color-mix(in srgb, var(--accent) 55%, transparent), 0 0 72px color-mix(in srgb, var(--accent) 22%, transparent);font-size:3.1rem;font-weight:500;line-height:1}.reveal .stat-label{color:var(--muted);letter-spacing:.04em;font-size:.85rem}.reveal .viz.comp-diagram{justify-content:center;align-items:center;gap:1.6rem;display:flex}.reveal .comp-col{border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:.55rem;padding:1rem 1.2rem;display:flex}.reveal .comp-title{color:var(--muted);margin-bottom:.3rem;font-size:.8rem}.reveal .comp-chip{border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);color:var(--fg);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:8px;padding:.45rem .95rem;font-size:1rem}.reveal .comp-mid{color:var(--accent);flex-direction:column;align-items:center;gap:.15rem;display:flex}.reveal .comp-verse{font-family:var(--serif);font-size:1.4rem;font-style:italic}.reveal .comp-arrow{font-size:1.6rem}.reveal .comp-note{color:var(--muted);font-size:.75rem}.reveal .comp-game .comp-preview{border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent);border-radius:8px;width:170px;height:96px}.reveal .chapter-intro{padding-left:1.4rem;position:relative}.reveal .chapter-intro:before{content:"";background:linear-gradient(to bottom, var(--accent), transparent);width:2px;height:56px;position:absolute;top:.1em;left:-6px}.reveal .chapter-intro .ch-num{letter-spacing:.3em;color:var(--accent);margin-bottom:1rem;font-size:.8rem}.reveal .chapter-intro h2{font-size:3.4rem}.reveal .chapter-intro .subline{max-width:56%;margin:1.6rem auto 0}.reveal section[data-dense="1"] h1,.reveal section[data-dense="1"] h2,.reveal section[data-dense="1"] .eyebrow,.reveal section[data-dense="1"] .ch-num,.reveal section[data-dense="1"] .subline,.reveal section[data-dense="1"] .hint,.reveal section[data-dense="1"] .takeaway{text-shadow:0 1px 1px #08080999,0 0 12px #080809b8,0 0 30px #08080980}.reveal section[data-dense="1"] .subline{color:#c9ced4}.reveal .viz.flow-diagram{justify-content:center;align-items:center;display:flex}.reveal .flow-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.reveal .flow-node{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--fg);box-shadow:0 0 18px color-mix(in srgb, var(--accent) 14%, transparent);border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;padding:.7rem 1.1rem;font-size:1.05rem;display:flex}.reveal .flow-node small{color:var(--muted);font-size:.7rem}.reveal .flow-node.flow-result{border-style:dashed}.reveal .flow-arrow{color:var(--accent);font-size:1.4rem}.reveal .flow-arrow.broken{color:#ff5a78}.reveal .viz.code-wrap{text-align:left;max-width:800px;margin:0 auto}.reveal .code-chrome{box-shadow:0 20px 60px #00000080, 0 0 40px color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid #ffffff1a;border-radius:10px;overflow:hidden}.reveal .code-titlebar{background:#1c1c24;align-items:center;gap:.6rem;height:34px;padding:0 .9rem;display:flex}.reveal .code-dots i{background:#ffffff29;border-radius:50%;width:11px;height:11px}.reveal .code-url{text-align:center;font-family:var(--mono);color:#6b7280;letter-spacing:.04em;flex:1;font-size:.7rem}.reveal .code-badge{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;font-size:.65rem}.reveal .code-pre{font-family:var(--mono);color:#cfd3d8;white-space:pre;counter-reset:ln;background:#0d0d14;margin:0;padding:1.1rem 1.4rem;font-size:.95rem;line-height:1.65;overflow:auto}.reveal .code-line{border-left:2px solid #0000;padding:0 .4rem 0 2.6rem;display:block;position:relative}.reveal .code-line:before{counter-increment:ln;content:counter(ln);text-align:right;color:#3a4150;width:1.8rem;position:absolute;left:0}.reveal .code-line.hl{background:color-mix(in srgb, var(--accent) 12%, transparent);border-left-color:var(--accent)}.reveal .code-pre .c-kw{color:var(--accent)}.reveal .c-com{color:#535a6b;font-style:italic}.reveal .c-str{color:#9ece6a}.reveal .c-kw{color:var(--accent)}.reveal .viz.cd-wrap{text-align:left;max-width:1060px;margin:0 auto}.reveal .cd-hint{color:var(--muted);text-align:center;margin-bottom:.8rem;font-size:.8rem}.reveal .cd-grid{grid-template-columns:.92fr 1.08fr;align-items:start;gap:1.2rem;display:grid}.reveal .cd-flow{flex-direction:column;display:flex}.reveal .cd-box{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:9px;align-items:center;gap:.7rem;padding:.45rem .8rem;font-family:inherit;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.reveal .cd-box:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.reveal .cd-box.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--accent) 25%, transparent)}.reveal .cd-badge{background:color-mix(in srgb, var(--accent) 20%, transparent);width:22px;height:22px;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);border-radius:50%;flex:none;place-items:center;font-size:.72rem;display:grid}.reveal .cd-meta{flex-direction:column;line-height:1.25;display:flex}.reveal .cd-name{font-family:var(--mono);color:var(--fg);font-size:.82rem}.reveal .cd-file{font-family:var(--mono);color:var(--faint);font-size:.62rem}.reveal .cd-arrow{text-align:center;color:var(--faint);margin:1px 0;font-size:.8rem;line-height:1}.reveal .cd-detail{background:#0d0d14;border:1px solid #ffffff1a;border-radius:10px;align-self:stretch;overflow:hidden}.reveal .cd-detail-head{font-family:var(--mono);background:#1c1c24;justify-content:space-between;align-items:center;padding:.5rem .9rem;font-size:.78rem;display:flex}.reveal .cd-detail-head em{color:var(--faint);font-size:.66rem;font-style:normal}.reveal .cd-code{font-family:var(--mono);color:#cfd3d8;white-space:pre;margin:0;padding:.9rem 1.1rem;font-size:.78rem;line-height:1.6;overflow:auto}.reveal .viz .scene-hint{color:var(--faint);pointer-events:none;white-space:nowrap;font-size:.72rem;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.reveal .viz .scene-shop{border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);text-align:left;background:#0d0d14eb;border-radius:10px;width:210px;padding:.7rem .9rem;position:absolute;top:12px;right:12px;box-shadow:0 10px 40px #00000080}.reveal .viz .scene-shop-h{color:var(--accent);margin-bottom:.5rem;font-size:.82rem;font-weight:600}.reveal .viz .scene-shop ul{margin:0;padding:0;list-style:none}.reveal .viz .scene-shop li{color:var(--fg);border-bottom:1px solid #ffffff0f;justify-content:space-between;padding:.22rem 0;font-size:.78rem;display:flex}.reveal .viz .scene-shop li span{color:var(--faint)}.reveal .viz .scene-shop-x{color:var(--muted);cursor:pointer;text-align:right;margin-top:.5rem;font-size:.72rem}#toc{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0e9e;border-right:1px solid #ffffff12;width:220px;height:100%;padding:60px 0 20px;position:fixed;top:0;left:0;overflow-y:auto}#toc[data-accent=amber]{--accent:#f0b866}#toc[data-accent=rose]{--accent:#ff6f91}#toc[data-accent=azure]{--accent:#6cb6ff}#toc[data-accent=emerald]{--accent:#54e0a3}#toc[data-accent=violet]{--accent:#b69cff}#toc .toc-title{letter-spacing:.2em;color:var(--faint);padding:0 18px 12px;font-size:.7rem}#toc .toc-item{text-align:left;width:100%;color:var(--muted);font-family:var(--sans);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;align-items:baseline;gap:9px;padding:11px 18px;font-size:13px;line-height:1.35;transition:color .15s,background .15s,opacity .2s;display:flex;position:relative}#toc .toc-item+.toc-item{margin-top:2px}#toc .toc-item:hover{color:var(--fg);background:#ffffff0b}#toc .toc-item:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:-2px}#toc .toc-item.visited{opacity:.6}#toc .toc-item.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 11%, transparent);opacity:1}#toc .toc-item.active:before{content:"";background:var(--accent);border-radius:1px;width:2px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}#toc .toc-n{font-family:var(--mono);color:var(--faint);font-size:11px}#toc .toc-item.active .toc-n{color:var(--accent)}.reveal-viewport{box-sizing:border-box;padding-left:220px;transition:padding-left .32s cubic-bezier(.22,1,.36,1)}#toc{transition:transform .32s cubic-bezier(.22,1,.36,1)}body.toc-collapsed #toc{transform:translate(-100%)}body.toc-collapsed .reveal-viewport{padding-left:0}.toc-toggle{z-index:6;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121218b8;border:1px solid #ffffff1a;border-radius:9px;place-items:center;width:36px;height:36px;transition:background .2s,border-color .2s;display:grid;position:fixed;top:14px;left:14px}.toc-toggle:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:#1e1e28e6}.toc-toggle span{background:var(--muted);border-radius:2px;width:16px;height:2px;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .18s;position:absolute}.toc-toggle span:first-child{transform:translateY(-5px)}.toc-toggle span:nth-child(3){transform:translateY(5px)}.toc-toggle:hover span{background:var(--fg)}body:not(.toc-collapsed) .toc-toggle span:first-child{transform:rotate(45deg)}body:not(.toc-collapsed) .toc-toggle span:nth-child(2){opacity:0}body:not(.toc-collapsed) .toc-toggle span:nth-child(3){transform:rotate(-45deg)}.reveal .viz.cd2-wrap{text-align:left;max-width:1080px;margin:0 auto;position:relative}.reveal .cd2-hint{color:var(--muted);text-align:center;margin-bottom:.6rem;font-size:.78rem}.reveal .cd2-classes{justify-content:center;gap:.6rem;margin-bottom:.7rem;display:flex}.reveal .cd2-class{border:1px solid color-mix(in srgb, var(--c) 55%, transparent);border-top:2px solid var(--c);background:color-mix(in srgb, var(--c) 8%, transparent);border-radius:7px;flex-direction:column;padding:.3rem .7rem;display:flex}.reveal .cd2-class b{font-family:var(--mono);color:var(--fg);font-size:.72rem}.reveal .cd2-class small{font-family:var(--mono);color:var(--faint);font-size:.56rem}.reveal .cd2-graph{height:300px;position:relative}.reveal .cd2-edges{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.reveal .cd2-node{border:1px solid color-mix(in srgb, var(--c) 60%, transparent);border-left:3px solid var(--c);width:196px;color:var(--fg);cursor:pointer;text-align:left;box-shadow:0 0 14px color-mix(in srgb, var(--c) 18%, transparent);background:#0c0d12;border-radius:8px;align-items:center;gap:.5rem;padding:.38rem .55rem;transition:box-shadow .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.reveal .cd2-node:hover{box-shadow:0 0 22px color-mix(in srgb, var(--c) 42%, transparent)}.reveal .cd2-node.active{box-shadow:0 0 26px color-mix(in srgb, var(--c) 55%, transparent)}.reveal .cd2-badge{background:color-mix(in srgb, var(--c) 22%, transparent);width:19px;height:19px;color:var(--c);border:1px solid var(--c);border-radius:50%;flex:none;place-items:center;font-size:.66rem;display:grid}.reveal .cd2-meta{flex-direction:column;min-width:0;line-height:1.2;display:flex}.reveal .cd2-nm{font-family:var(--mono);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:.69rem;overflow:hidden}.reveal .cd2-fl{font-family:var(--mono);color:var(--faint);font-size:.55rem}.reveal .cd2-source{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);z-index:5;opacity:0;visibility:hidden;transform-origin:bottom;pointer-events:none;box-shadow:0 30px 80px #0009, 0 0 50px color-mix(in srgb, var(--accent) 14%, transparent);background:#08080cf7;border-radius:12px;flex-direction:column;transition:opacity .34s,transform .34s cubic-bezier(.22,1,.36,1),visibility .34s;display:flex;position:absolute;inset:0;overflow:hidden;transform:translateY(16px)scale(.985)}.reveal .cd2-source.show{opacity:1;visibility:visible;pointer-events:auto;transform:none}.reveal .cd2-src-h{font-family:var(--mono);background:#1c1c24;justify-content:space-between;align-items:center;padding:.5rem .9rem;font-size:.8rem;display:flex}.reveal .cd2-src-h em{color:var(--faint);margin-left:.4rem;font-size:.66rem;font-style:normal}.reveal .cd2-src-h .cd2-badge{vertical-align:middle;--c:var(--accent);display:inline-grid}.reveal .cd2-x{color:var(--muted);cursor:pointer;font-size:.66rem;font-family:var(--sans);background:0 0;border:1px solid #ffffff2e;border-radius:6px;padding:.2rem .5rem}.reveal .cd2-code{font-family:var(--mono);color:#cfd3d8;white-space:pre;flex:1;margin:0;padding:.9rem 1.2rem;font-size:.82rem;line-height:1.65;overflow:auto}.reveal .cd2-source[hidden]{display:none}.reveal .viz.viz--board{box-sizing:border-box;background:linear-gradient(#ffffff08,#ffffff02);border:1px solid #ffffff1a;border-radius:12px;max-width:1140px;margin:.5rem auto;padding:16px 18px;box-shadow:0 8px 24px #00000052,inset 0 1px #ffffff0b}.reveal .viz.viz--board:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 40%, transparent), transparent);height:1px;position:absolute;top:0;left:18px;right:18px}.reveal .slides section.present .viz.viz--board{box-shadow:0 8px 24px #00000052, inset 0 1px 0 #ffffff0b, 0 0 90px color-mix(in srgb, var(--accent) 9%, transparent)}.reveal .viz.sw-wrap{max-width:1140px;margin:0 auto}.lib{z-index:2;box-sizing:border-box;max-width:1180px;min-height:100vh;font-family:"Pretendard", var(--sans,sans-serif);color:#e8ebf0;flex-direction:column;margin:0 auto;padding:42px 48px 20px;display:flex;position:relative}.lib *,.lib :before,.lib :after{box-sizing:border-box}.lib-head{text-align:center}.lib-eyebrow{font-family:var(--mono,"JetBrains Mono", monospace);letter-spacing:.24em;color:var(--warn,#f0b866);opacity:.9;font-size:11px}.lib-title{letter-spacing:-.01em;word-break:keep-all;color:#f2f4f7;margin:10px 0 8px;font-size:2.5rem;font-weight:800}.lib-title em{color:var(--warn,#f0b866);font-family:Newsreader,serif;font-style:italic;font-weight:500}.lib-sub{color:#a6acb3;letter-spacing:.004em;word-break:keep-all;margin:0;font-size:.95rem}.lib-shelf{grid-template-columns:repeat(3,1fr);gap:36px;margin-top:34px;display:grid;position:relative}.lib-shelf:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff29 10% 90%,#0000);height:1px;position:absolute;top:293px;left:-26px;right:-26px;box-shadow:0 16px 30px -10px #0009}.lib-book{color:inherit;opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 90ms + .1s);outline:none;flex-direction:column;align-items:center;text-decoration:none;display:flex;transform:translateY(18px)}.lib.lib-in .lib-book{opacity:1;transform:none}.lib-vol{perspective:1000px;align-items:flex-end;height:292px;display:flex;position:relative}.lib-vol:after{content:"";filter:blur(5px);background:radial-gradient(#0009,#0000 70%);height:16px;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .5s;position:absolute;bottom:-7px;left:10%;right:4%}.lib-cover{width:214px;height:286px;transform-style:preserve-3d;transform-origin:0;transition:transform .55s cubic-bezier(.22,1,.36,1);position:relative;transform:rotateY(-22deg)}.lib-pages{transform-origin:100%;background:repeating-linear-gradient(#00000029 0 2px,#0000 2px 4px),linear-gradient(90deg,#b9b4a6,#dcd7c8 45%,#c8c3b4);border-radius:1px;width:24px;position:absolute;top:3px;bottom:3px;right:0;transform:rotateY(90deg)}.lib-face{text-align:left;background:linear-gradient(122deg, color-mix(in srgb, var(--a,#f0b866) 22%, transparent), transparent 46%), linear-gradient(302deg, color-mix(in srgb, var(--a2,#fff) 10%, transparent), transparent 40%), linear-gradient(180deg, #ffffff0b, #fff0 38%), #0d0e14;border:1px solid #ffffff1f;border-radius:3px 8px 8px 3px;flex-direction:column;align-items:flex-start;padding:22px 20px 18px;display:flex;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0f,inset 14px 0 20px -14px #000000b3,0 2.8px 2.2px #00000017,0 6.7px 5.3px #0000001c,0 12.5px 10px #00000021,0 22.3px 17.9px #00000026,0 41.8px 33.4px #0000002e}.lib-face:before{content:"";border:1px solid color-mix(in srgb, var(--a,#f0b866) 32%, #ffffff1a);opacity:.55;pointer-events:none;border-radius:4px;position:absolute;inset:9px}.lib-kicker{font-style:normal;font-family:var(--mono,monospace);letter-spacing:.18em;color:color-mix(in srgb, var(--a,#f0b866) 80%, #fff 12%);font-size:.55rem}.lib-cover-title{color:#f4f6f9;letter-spacing:.01em;margin-top:40px;font-family:Newsreader,serif;font-size:1.62rem;font-style:italic;font-weight:500;line-height:1.16}.lib-cover-sub{color:#a9b0ba;word-break:keep-all;margin-top:9px;font-size:.78rem;font-style:normal;line-height:1.5}.lib-cover-foot{text-align:center;font-family:var(--mono,monospace);letter-spacing:.22em;color:#6e747c;border-top:1px solid #ffffff17;align-self:stretch;margin-top:auto;padding-top:10px;font-size:.5rem}.lib-book:hover .lib-cover,.lib-book:focus-visible .lib-cover{transform:rotateY(-8deg)translateY(-10px)}.lib-book:hover .lib-vol:after,.lib-book:focus-visible .lib-vol:after{opacity:.7;transform:translateY(4px)scaleX(1.06)}.lib-book:focus-visible .lib-face{border-color:color-mix(in srgb, var(--a,#f0b866) 70%, transparent)}.lib-meta{text-align:center;flex-direction:column;align-items:center;gap:7px;max-width:300px;margin-top:22px;display:flex}.lib-tag{font-family:var(--mono,monospace);letter-spacing:.14em;color:color-mix(in srgb, var(--a,#f0b866) 85%, #fff 10%);border:1px solid color-mix(in srgb, var(--a,#f0b866) 36%, transparent);background:color-mix(in srgb, var(--a,#f0b866) 8%, transparent);border-radius:999px;padding:3px 9px;font-size:.58rem}.lib-name{color:#eef1f5;word-break:keep-all;font-size:.98rem;font-weight:700}.lib-blurb{color:#a6acb3;word-break:keep-all;text-wrap:pretty;font-size:.8rem;line-height:1.55}.lib-stats{font-family:var(--mono,monospace);color:#6e747c;letter-spacing:.06em;font-size:.66rem}.lib-cta{color:color-mix(in srgb, var(--a,#f0b866) 85%, #fff 12%);margin-top:2px;font-size:.8rem;font-weight:600}.lib-cta i{font-style:normal;transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-block}.lib-book:hover .lib-cta i,.lib-book:focus-visible .lib-cta i{transform:translate(4px)}.lib-foot{text-align:center;font-family:var(--mono,monospace);letter-spacing:.14em;color:#565b63;margin-top:auto;padding-top:16px;font-size:.6rem}@media (prefers-reduced-motion:reduce){.lib-book{opacity:1;transition:none;transform:none}.lib-cover,.lib-vol:after,.lib-cta i{transition:none}}.reveal .viz-text-halo{paint-order:stroke;stroke:#080809;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.reveal .viz-text-halo--soft{stroke:#080809d1;stroke-width:2px}.reveal .viz-text-halo--strong{stroke-width:4px}.reveal .viz-label{font-family:var(--sans);white-space:nowrap;line-height:1.2}.reveal .viz-label--pill{background:var(--label-bg,#0a0c10d1);border:1px solid var(--label-stroke,#ffffff14);-webkit-backdrop-filter:blur(3px);border-radius:999px;padding:1px 8px}.reveal .viz-label--chip{background:var(--label-bg,#0a0c10d1);border:1px solid var(--label-stroke,#ffffff14);-webkit-backdrop-filter:blur(3px);border-radius:7px;padding:2px 7px}.reveal .viz-scrim{pointer-events:none;z-index:0;background:radial-gradient(#080809b8 0%,#08080973 45%,#0000 72%);position:absolute}.reveal .viz-leader{stroke:var(--line-dim,#2a3440);stroke-width:1px;fill:none;opacity:.7}.reveal .viz .edge{--edge-t:0;--edge-accent:#6cb6ff;stroke:color-mix(in srgb, color-mix(in srgb, var(--edge-accent) 12%, #ffffffe6) calc(var(--edge-t) * 100%), #ffffffe6);stroke-opacity:calc(.1 + var(--edge-t) * .16);stroke-width:1.2px;stroke-linecap:round;fill:none;stroke-dasharray:1}.reveal .viz .node .node-ring{vector-effect:non-scaling-stroke}.reveal .viz .tc-colname{letter-spacing:.14em;font-weight:600}.reveal .viz .tc-rule{stroke:#ffffff24;stroke-width:1px;stroke-linecap:round}@media (prefers-reduced-motion:reduce){.reveal .viz .edge{stroke-dashoffset:0!important}}.reveal .ac-svg{display:block;overflow:visible}.reveal .viz.stat-row{box-sizing:border-box;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;width:100%;height:100%;display:flex}.reveal .viz.stat-row .stat-card{text-align:center;opacity:0;min-width:132px;max-width:236px;transition:opacity .44s cubic-bezier(.22,1,.36,1),transform .44s cubic-bezier(.22,1,.36,1),border-color .28s,box-shadow .28s;transition-delay:var(--sc-delay,0s), var(--sc-delay,0s), 0s, 0s;background:linear-gradient(#ffffff09,#fff0 38%),#0c0d12;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;flex:0 auto;justify-content:flex-start;align-items:center;padding:.85rem 1rem .95rem;display:flex;transform:translateY(14px)scale(.97);box-shadow:inset 0 1px #ffffff0d}.reveal .viz.stat-row .stat-card.stat-card--visible{opacity:1;transform:none}.reveal .viz.stat-row .stat-card.stat-card--hero{background:linear-gradient(180deg, #ffffff0d, #fff0 38%) padding-box, linear-gradient(#0c0d12, #0c0d12) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--accent) 36%, transparent) 45%, #ffffff0d) border-box;border:1px solid #0000;box-shadow:inset 0 1px #ffffff0f,0 1px 1px #00000024,0 3px 3px -1.5px #00000024,0 6px 6px -3px #00000026,0 12px 12px -6px #00000029,0 24px 24px -12px #0003}.reveal .viz.stat-row--hover .stat-card:hover{border-color:color-mix(in srgb, var(--accent) 42%, transparent);box-shadow:inset 0 1px 0 #ffffff0d, 0 6px 22px #00000052, 0 0 26px color-mix(in srgb, var(--accent) 12%, transparent);transform:translateY(-2px)}.reveal .viz.stat-row--hover .stat-card.stat-card--hero:hover{box-shadow:inset 0 1px 0 #ffffff0f, 0 10px 30px #0000005c, 0 0 30px color-mix(in srgb, var(--accent) 16%, transparent);border-color:#0000;transform:translateY(-2px)}.reveal .viz.stat-row .stat-figure{justify-content:center;align-items:center;min-height:96px;display:flex}.reveal .viz.stat-row .stat-num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:none;align-items:baseline;gap:.1em;font-size:1rem;line-height:1;display:inline-flex}.reveal .viz.stat-row .stat-val{color:var(--fg);letter-spacing:-.02em;font-size:2.45rem;font-weight:700;transition:text-shadow .28s}.reveal .viz.stat-row .stat-pre{color:var(--accent);font-size:1.3rem;font-weight:600}.reveal .viz.stat-row .stat-suf{color:var(--muted);letter-spacing:.01em;font-size:.95rem;font-weight:600}.reveal .viz.stat-row--hover .stat-card:hover .stat-val{text-shadow:0 0 22px color-mix(in srgb, var(--accent) 30%, transparent)}.reveal .viz.stat-row .stat-arc-wrap{flex:none;width:96px;height:96px;position:relative}.reveal .viz.stat-row .stat-arc{width:100%;height:100%;display:block;overflow:visible}.reveal .viz.stat-row .stat-arc-stop0{stop-color:var(--accent)}.reveal .viz.stat-row .stat-arc-stop1{stop-color:color-mix(in srgb, var(--accent) 60%, #fff 25%)}.reveal .viz.stat-row .stat-arc-glow0{stop-color:color-mix(in srgb, var(--accent) 8%, transparent)}.reveal .viz.stat-row .stat-arc-glow1{stop-color:transparent}.reveal .viz.stat-row .stat-arc-glow{stroke:none}.reveal .viz.stat-row .stat-arc-bg{fill:none;stroke:#ffffff12;stroke-width:7px}.reveal .viz.stat-row .stat-arc-fg{fill:none;stroke-width:7px;stroke-linecap:round;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 45%, transparent));transition:filter .28s}.reveal .viz.stat-row .stat-arc-dot{fill:color-mix(in srgb, var(--accent) 45%, #fff 55%);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent) 70%, transparent));transition:opacity .2s}.reveal .viz.stat-row--hover .stat-card:hover .stat-arc-fg{filter:drop-shadow(0 0 9px color-mix(in srgb, var(--accent) 65%, transparent))}.reveal .viz.stat-row .stat-num--arc{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reveal .viz.stat-row .stat-num--arc .stat-val{color:color-mix(in srgb, var(--fg) 88%, var(--accent) 12%);text-shadow:0 0 14px color-mix(in srgb, var(--accent) 24%, transparent);font-size:1.34rem}.reveal .viz.stat-row .stat-num--arc .stat-suf{color:var(--accent);font-size:.74rem}.reveal .viz.stat-row .stat-num--arc .stat-pre{font-size:.8rem}.reveal .viz.stat-row .stat-divider{background:color-mix(in srgb, var(--accent) 60%, transparent);width:24px;height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:2px;margin:.7rem 0 .55rem}.reveal .viz.stat-row .stat-label{font-family:var(--sans);color:var(--muted);letter-spacing:.01em;word-break:keep-all;font-size:.74rem;font-weight:500;line-height:1.4}.reveal .viz.stat-row .stat-context{font-family:var(--serif);color:var(--faint);word-break:keep-all;margin-top:.3rem;font-size:.68rem;font-style:italic;line-height:1.4}@media (prefers-reduced-motion:reduce){.reveal .viz.stat-row .stat-card{opacity:1;transition:border-color .28s,box-shadow .28s;transform:none}.reveal .viz.stat-row .stat-arc-fg,.reveal .viz.stat-row .stat-arc-dot,.reveal .viz.stat-row .stat-val{transition:none}}.reveal .viz.cb-wrap{box-sizing:border-box;text-align:left;height:100%;min-height:0;font-family:var(--sans,"Pretendard", sans-serif);color:var(--fg,#f3f4f6);flex-direction:column;display:flex;overflow:hidden}.reveal .cb-graph{flex:1;align-items:stretch;gap:clamp(10px,2.4vw,34px);min-height:0;display:flex;position:relative}.reveal .cb-links{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.reveal .cb-feed{fill:none;stroke:color-mix(in srgb, var(--accent,#f0b866) 50%, transparent);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .62s cubic-bezier(.4,0,.2,1)}.reveal .cb-trunk{fill:none;stroke:var(--accent,#f0b866);stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent,#f0b866) 40%, transparent));transition:stroke-dashoffset .5s cubic-bezier(.4,0,.2,1)}.reveal .cb-wrap.cb-build .cb-feed,.reveal .cb-wrap.cb-locked .cb-trunk{stroke-dashoffset:0}.reveal .cb-arrowhead{fill:var(--accent,#f0b866)}.reveal .cb-wrap.cb-locked .cb-feed{animation:3.4s ease-in-out infinite cb-feed-breathe}@keyframes cb-feed-breathe{0%,to{opacity:.55}50%{opacity:1}}.reveal .cb-trunk-flow{fill:none;stroke:color-mix(in srgb, var(--accent,#f0b866) 85%, #fff);stroke-width:1.4px;stroke-linecap:round;stroke-dasharray:2 12;stroke-dashoffset:0;opacity:0;transition:opacity .5s}.reveal .cb-wrap.cb-locked .cb-trunk-flow{opacity:.9;animation:2.8s linear .6s infinite cb-trunk-flow}@keyframes cb-trunk-flow{to{stroke-dashoffset:-14px}}@media (prefers-reduced-motion:reduce){.reveal .cb-feed,.reveal .cb-trunk{stroke-dashoffset:0;transition:none}.reveal .cb-wrap.cb-locked .cb-feed{animation:none}.reveal .cb-trunk-flow{display:none}}.reveal .cb-col{z-index:2;flex-direction:column;min-width:0;display:flex}.reveal .cb-col--parts{flex:42%}.reveal .cb-col--merge{flex:0 0 clamp(82px,12%,150px)}.reveal .cb-col--result{flex:44%}.reveal .cb-coltag{font-family:var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--faint,#6e747c);white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ffffff14;flex:none;margin-bottom:8px;padding-bottom:6px;font-size:.62rem;overflow:hidden}.reveal .cb-coltag b{color:var(--muted,#a6acb3);font-weight:600}.reveal .cb-coltag--r{color:color-mix(in srgb, var(--accent,#f0b866) 78%, var(--muted,#a6acb3));border-bottom-color:color-mix(in srgb, var(--accent,#f0b866) 26%, transparent)}.reveal .cb-coltag--spacer{border-bottom-color:#0000}.reveal .cb-parts{flex-direction:column;flex:1;gap:clamp(6px,1.4vh,12px);min-height:0;display:flex}.reveal .cb-part{border:1px solid #ffffff14;border-left:3px solid color-mix(in srgb, var(--accent,#f0b866) 42%, #ffffff14);opacity:0;min-height:42px;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s;transition-delay:calc(var(--i,0) * .11s + .2s);background:linear-gradient(#ffffff09,#fff0 38%),#0c0d12;border-radius:10px;flex:1 1 0;align-items:center;gap:11px;padding:0 13px;display:flex;position:relative;overflow:hidden;transform:translate(-16px);box-shadow:inset 0 1px #ffffff0d,0 2px 8px #00000052}.reveal .cb-wrap.cb-ready .cb-part{opacity:1;transform:translate(0)}.reveal .cb-wrap.cb-locked .cb-part{border-left-color:color-mix(in srgb, var(--accent,#f0b866) 62%, transparent)}.reveal .cb-badge{width:26px;height:26px;font-family:var(--mono,monospace);color:color-mix(in srgb, var(--accent,#f0b866) 92%, #fff);background:linear-gradient(180deg, color-mix(in srgb, var(--accent,#f0b866) 22%, #0c0d12), color-mix(in srgb, var(--accent,#f0b866) 11%, #0c0d12));border:1px solid color-mix(in srgb, var(--accent,#f0b866) 42%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--accent,#f0b866) 24%, transparent);border-radius:7px;flex:none;place-items:center;font-size:.72rem;font-weight:700;line-height:1;display:grid}.reveal .cb-part-body{flex-direction:column;gap:1px;min-width:0;line-height:1.22;display:flex}.reveal .cb-part-label{font-family:var(--sans,sans-serif);color:var(--fg,#f3f4f6);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.005em;font-size:.86rem;font-weight:600;overflow:hidden}.reveal .cb-part-role{font-family:var(--mono,monospace);color:var(--faint,#6e747c);white-space:nowrap;text-overflow:ellipsis;font-size:.58rem;overflow:hidden}.reveal .cb-merge-area{flex:1;place-items:center;min-height:0;display:grid}.reveal .cb-junction{width:clamp(48px,7vw,62px);height:clamp(48px,7vw,62px);color:var(--accent,#f0b866);background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent,#f0b866) 20%, transparent), transparent 46%), radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--accent,#f0b866) 24%, #0c0d12), #0a0b10 72%);border:1px solid color-mix(in srgb, var(--accent,#f0b866) 55%, transparent);box-shadow:0 0 16px color-mix(in srgb, var(--accent,#f0b866) 22%, transparent), inset 0 0 10px color-mix(in srgb, var(--accent,#f0b866) 12%, transparent);opacity:0;border-radius:50%;place-items:center;transition:opacity .45s cubic-bezier(.22,1,.36,1) .18s,transform .45s cubic-bezier(.22,1,.36,1) .18s,box-shadow .4s .18s;display:grid;position:relative;transform:scale(.6)}.reveal .cb-wrap.cb-build .cb-junction{opacity:1;transform:scale(1)}.reveal .cb-junction-v{font-family:var(--mono,monospace);letter-spacing:.02em;font-size:.66rem;font-weight:700;line-height:1}.reveal .cb-junction:before{content:"";border:1.5px dashed color-mix(in srgb, var(--accent,#f0b866) 40%, transparent);opacity:.45;transform-origin:50%;border-radius:50%;animation:8s linear infinite cb-orbit;position:absolute;inset:-6px}.reveal .cb-junction:after{content:"";border:1px dashed color-mix(in srgb, var(--accent,#f0b866) 20%, transparent);opacity:.6;pointer-events:none;border-radius:50%;position:absolute;inset:-1px}@keyframes cb-orbit{to{transform:rotate(360deg)}}.reveal .cb-wrap.cb-locked .cb-junction{box-shadow:0 0 22px color-mix(in srgb, var(--accent,#f0b866) 34%, transparent), inset 0 0 12px color-mix(in srgb, var(--accent,#f0b866) 16%, transparent)}.reveal .cb-result{background:linear-gradient(150deg, color-mix(in srgb, var(--accent,#f0b866) 13%, transparent), color-mix(in srgb, var(--accent,#f0b866) 3%, transparent) 60%) padding-box, linear-gradient(#0b0c11, #0b0c11) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--accent,#f0b866) 36%, transparent) 45%, #ffffff0d) border-box;opacity:0;border:1px solid #0000;border-radius:14px;flex-direction:column;flex:1;justify-content:center;gap:7px;min-height:0;padding:14px 16px;transition:opacity .55s cubic-bezier(.22,1,.36,1) .16s,transform .55s cubic-bezier(.22,1,.36,1) .16s,box-shadow .45s .16s;display:flex;position:relative;overflow:hidden;transform:scale(.965);box-shadow:0 1px 1px #00000024,0 3px 3px -1.5px #00000024,0 6px 6px -3px #00000026,0 12px 12px -6px #00000029,0 24px 24px -12px #0003}.reveal .cb-wrap.cb-ready .cb-result{opacity:1;transform:scale(1)}.reveal .cb-wrap.cb-locked .cb-result{box-shadow:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029, 0 24px 24px -12px #0003, 0 0 40px color-mix(in srgb, var(--accent,#f0b866) 18%, transparent)}.reveal .cb-result:after{content:"";pointer-events:none;border:1.5px solid var(--accent,#f0b866);opacity:0;border-radius:14px;position:absolute;inset:0}.reveal .cb-wrap.cb-locked .cb-result:after{animation:.9s cubic-bezier(.22,1,.36,1) forwards cb-lock}@keyframes cb-lock{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.reveal .cb-part,.reveal .cb-junction,.reveal .cb-result{opacity:1;transition:none;transform:none}.reveal .cb-wrap.cb-locked .cb-result:after,.reveal .cb-junction:before{animation:none}}.reveal .cb-result-kicker{font-family:var(--mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#f0b866);align-items:center;gap:6px;font-size:.6rem;font-weight:700;display:flex}.reveal .cb-result-kicker:before{content:"";background:var(--accent,#f0b866);width:6px;height:6px;box-shadow:0 0 8px var(--accent,#f0b866);border-radius:50%}.reveal .cb-k-arrow{color:color-mix(in srgb, var(--accent,#f0b866) 55%, var(--muted,#a6acb3));margin:0 1px;font-weight:400}.reveal .cb-result-label{font-family:var(--sans,sans-serif);color:var(--fg,#f3f4f6);letter-spacing:-.01em;-webkit-line-clamp:2;text-shadow:0 0 22px color-mix(in srgb, var(--accent,#f0b866) 22%, transparent);-webkit-box-orient:vertical;font-size:clamp(1.25rem,2.6vw,1.7rem);font-weight:700;line-height:1.16;display:-webkit-box;overflow:hidden}.reveal .cb-result-sub{font-family:var(--mono,monospace);color:var(--muted,#a6acb3);letter-spacing:.01em;font-size:.62rem}.reveal .cb-result-mini{flex-wrap:wrap;gap:5px;margin-top:3px;display:flex}.reveal .cb-mini{font-family:var(--mono,monospace);color:var(--muted,#a6acb3);white-space:nowrap;background:color-mix(in srgb, var(--accent,#f0b866) 9%, #ffffff05);border:1px solid color-mix(in srgb, var(--accent,#f0b866) 26%, transparent);opacity:0;transition:opacity .4s,transform .4s;transition-delay:calc(var(--i,0) * 60ms);border-radius:5px;padding:4px 7px;font-size:.55rem;line-height:1;transform:translateY(4px)}.reveal .cb-wrap.cb-locked .cb-mini{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal .cb-mini{opacity:1;transform:none}}.reveal .viz.tl-wrap{--tl-break:#ff5a78;text-align:left}.tl-frame{box-sizing:border-box;width:100%;height:100%;min-height:0;font-family:var(--sans,"Pretendard", sans-serif);color:var(--fg,#f3f4f6);position:relative}.reveal .viz.tl-wrap .tl-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tl-area{opacity:0;transition:opacity .7s;transition-delay:var(--delay,.22s)}.tl-wrap.tl-ready .tl-area{opacity:1}.tl-base,.tl-tick{stroke:#ffffff1f;stroke-width:1px;vector-effect:non-scaling-stroke}.tl-base{opacity:0;transition:opacity .6s 50ms}.tl-wrap.tl-ready .tl-base{opacity:1}.tl-tick{opacity:0;transition:opacity .45s;transition-delay:var(--delay,.2s)}.tl-wrap.tl-ready .tl-tick{opacity:.7}.tl-riser{stroke:#ffffff0d;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .6s;transition-delay:var(--delay,.1s)}.tl-wrap.tl-ready .tl-riser{opacity:1}.tl-lead{stroke:color-mix(in srgb, var(--accent,#f0b866) 26%, transparent);stroke-width:1px;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .5s;transition-delay:var(--delay,.2s)}.tl-wrap.tl-ready .tl-lead{opacity:1}.tl-lead.is-reset{stroke:color-mix(in srgb, var(--tl-break) 42%, transparent)}.tl-track{fill:none;stroke:#ffffff29;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .6s 80ms}.tl-wrap.tl-ready .tl-track{opacity:1}.tl-fill{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:var(--len,1);stroke-dashoffset:var(--len,1);transition:stroke-dashoffset .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,.12s);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent,#f0b866) 40%, transparent))}.tl-wrap.tl-ready .tl-fill{stroke-dashoffset:0}.tl-frac-band{fill:color-mix(in srgb, var(--tl-break) 9%, transparent);opacity:0;transition:opacity .5s .5s}.tl-wrap.tl-ready .tl-frac-band{opacity:1}.tl-frac{fill:none;stroke:var(--tl-break);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:var(--len,1);stroke-dashoffset:var(--len,1);transition:stroke-dashoffset .42s cubic-bezier(.4,0,.2,1);transition-delay:var(--delay,.56s);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--tl-break) 80%, transparent)) drop-shadow(0 0 9px color-mix(in srgb, var(--tl-break) 45%, transparent))}.tl-wrap.tl-ready .tl-frac{stroke-dashoffset:0}.tl-mark{transform-box:fill-box;transform-origin:50%;transition:transform .5s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,.2s);transform:scale(0)}.tl-wrap.tl-ready .tl-mark{transform:scale(1)}.tl-mark .tl-halo{fill:none;stroke:#ffffff14;stroke-width:1px;vector-effect:non-scaling-stroke}.tl-mark .tl-ring{fill:#0c0d12;stroke:#ffffff8c;stroke-width:1.5px;vector-effect:non-scaling-stroke}.tl-mark .tl-core{fill:var(--accent,#f0b866);opacity:.9}.tl-mark .tl-sheen{pointer-events:none}.tl-mark.is-last .tl-halo{stroke:color-mix(in srgb, var(--accent,#f0b866) 55%, #fff3);stroke-width:1.2px}.tl-mark.is-last .tl-ring{stroke:var(--accent,#f0b866);stroke-width:2.4px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent,#f0b866) 85%, transparent)) drop-shadow(0 0 11px color-mix(in srgb, var(--accent,#f0b866) 55%, transparent))}.tl-mark.is-last .tl-core{opacity:1}.tl-mark.is-reset .tl-halo{stroke:color-mix(in srgb, var(--tl-break) 40%, transparent)}.tl-mark.is-reset .tl-ring{stroke:var(--tl-break);stroke-width:2.6px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--tl-break) 85%, transparent)) drop-shadow(0 0 12px color-mix(in srgb, var(--tl-break) 55%, transparent))}.tl-mark.is-reset .tl-core{fill:var(--tl-break)}.tl-pulse{fill:none;stroke:var(--accent,#f0b866);stroke-width:1.4px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;opacity:0}.tl-pulse.is-reset{stroke:var(--tl-break)}.tl-wrap.tl-ready .tl-pulse{animation:2.1s cubic-bezier(.22,1,.36,1) 1s infinite tl-pulse}@keyframes tl-pulse{0%{opacity:.75;transform:scale(.55)}70%{opacity:0}to{opacity:0;transform:scale(2.6)}}.tl-nodes{z-index:3;pointer-events:none;position:absolute;inset:0}.tl-node{opacity:0;white-space:nowrap;max-width:30%;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,.2s);flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%,8px)}.tl-wrap.tl-ready .tl-node{opacity:1;transform:translate(-50%)}.tl-node-head{align-items:center;gap:6px;display:flex}.tl-badge{width:19px;height:19px;font-family:var(--mono,monospace);color:var(--accent,#f0b866);background:color-mix(in srgb, var(--accent,#f0b866) 16%, #0c0d12);border:1px solid color-mix(in srgb, var(--accent,#f0b866) 55%, transparent);border-radius:50%;flex:none;place-items:center;font-size:.6rem;font-weight:700;line-height:1;display:grid}.tl-label{font-family:var(--mono,monospace);color:var(--fg,#f3f4f6);letter-spacing:.01em;text-overflow:ellipsis;text-shadow:0 0 4px #080809,0 0 2px #080809,0 1px 2px #080809;font-size:.82rem;font-weight:600;line-height:1.15;overflow:hidden}.tl-sub{font-family:var(--mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--faint,#5b6066);text-shadow:0 0 4px #080809,0 0 2px #080809;font-size:.56rem;line-height:1.1}.tl-sub:empty{display:none}.tl-node.is-last .tl-label{color:var(--accent,#f0b866);text-shadow:0 0 14px color-mix(in srgb, var(--accent,#f0b866) 35%, transparent), 0 0 3px #080809, 0 1px 2px #080809}.tl-node.is-reset .tl-badge{color:var(--tl-break);background:color-mix(in srgb, var(--tl-break) 18%, #0c0d12);border-color:color-mix(in srgb, var(--tl-break) 60%, transparent)}.tl-node.is-reset .tl-label{color:var(--tl-break)}.tl-node.is-reset .tl-sub{color:var(--tl-break);letter-spacing:.12em;font-weight:700}.tl-reset-tag{z-index:4;font-family:var(--mono,monospace);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--tl-break);border:1px solid color-mix(in srgb, var(--tl-break) 55%, transparent);box-shadow:0 2px 10px #0000008c, 0 0 16px color-mix(in srgb, var(--tl-break) 30%, transparent);opacity:0;pointer-events:none;background:#0a080beb;border-radius:6px;padding:2px 8px;font-size:.58rem;font-weight:700;transition:opacity .45s .72s,transform .45s cubic-bezier(.22,1,.36,1) .72s;position:absolute;transform:translate(-50%,-50%)scale(.92)}.tl-wrap.tl-ready .tl-reset-tag{opacity:1;transform:translate(-50%,-50%)scale(1)}@media (prefers-reduced-motion:reduce){.tl-fill,.tl-frac{stroke-dashoffset:0;transition:none}.tl-area,.tl-base,.tl-tick,.tl-riser,.tl-lead,.tl-mark,.tl-node,.tl-reset-tag{transition:none}.tl-wrap.tl-ready .tl-pulse{animation:none}}.reveal .viz.fxd{--fx-bad:#ff5d6e;--fx-line:color-mix(in srgb, var(--accent) 62%, transparent);--fx-ease:cubic-bezier(.22, 1, .36, 1);font-family:var(--sans,"Pretendard", sans-serif);display:block}.fxd .fx-stage{box-sizing:border-box;width:100%;height:100%;min-height:0;color:var(--fg,#f3f4f6);position:relative}.fxd .fx-title{z-index:4;font-family:var(--mono,monospace);letter-spacing:.06em;color:var(--muted,#9aa0a6);text-transform:uppercase;font-size:.62rem;position:absolute;top:0;left:2px}.fxd .fx-title:before{content:"▸ ";color:var(--accent)}.fxd.has-title .fx-track{padding-top:14px}.fxd .fx-track{z-index:2;box-sizing:border-box;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.fxd .fx-track.is-single{justify-content:center}.fxd .fx-card{box-sizing:border-box;border:1px solid #ffffff14;border-left:3px solid var(--accent);min-width:116px;max-width:232px;box-shadow:0 2px 14px #0006, 0 0 18px color-mix(in srgb, var(--accent) 10%, transparent), inset 0 1px 0 #ffffff0d;opacity:0;transition:opacity .46s var(--fx-ease), transform .46s var(--fx-ease), border-color .4s ease, box-shadow .4s ease, filter .5s ease;transition-delay:calc(var(--i,0) * 64ms);background:linear-gradient(#ffffff09,#fff0 38%),#0c0d12;border-radius:11px;flex-direction:column;flex:0 auto;gap:4px;padding:13px 15px 12px;display:flex;position:relative;transform:translateY(10px)scale(.96)}.fxd.is-ready .fx-card{opacity:1;transform:none}.fxd .fx-chip{min-width:19px;height:19px;font-family:var(--mono,monospace);color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, #0c0d12);border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);border-radius:6px;justify-content:center;align-items:center;padding:0 5px;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-9px;right:10px}.fxd .fx-label{font-family:var(--sans,sans-serif);color:var(--fg,#f3f4f6);letter-spacing:-.005em;word-break:keep-all;overflow-wrap:anywhere;font-size:.98rem;font-weight:650;line-height:1.28}.fxd .fx-role{font-family:var(--mono,monospace);letter-spacing:.04em;color:var(--faint,#6e747c);text-transform:uppercase;font-size:.58rem}.fxd .fx-port{background:var(--accent);width:6px;height:6px;box-shadow:0 0 7px var(--accent);opacity:.5;border-radius:50%;transition:opacity .3s,box-shadow .3s;position:absolute;bottom:11px;right:12px}.fxd .fx-card.is-hit{border-color:var(--accent);box-shadow:0 2px 14px #0006, 0 0 30px color-mix(in srgb, var(--accent) 40%, transparent), inset 0 0 16px color-mix(in srgb, var(--accent) 12%, transparent)}.fxd .fx-card.is-hit .fx-port{opacity:1;box-shadow:0 0 12px var(--accent)}.fxd .fx-card--result{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 18%, #0c0d12), color-mix(in srgb, var(--accent) 6%, #0c0d12)) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--accent) 36%, transparent) 45%, #ffffff0d) border-box;min-width:132px;box-shadow:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029, 0 24px 24px -12px #0003, 0 0 34px color-mix(in srgb, var(--accent) 20%, transparent), inset 0 1px 0 #ffffff14;border:1px solid #0000;padding:15px 17px 14px}.fxd .fx-card--result .fx-eyebrow{font-family:var(--mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 60%, transparent));font-size:.55rem;font-weight:700}.fxd .fx-card--result .fx-label{font-size:1.08rem;font-weight:700}.fxd .fx-card--result .fx-chip{color:#0a0b0d;background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 55%, transparent)}.fxd .fx-card--result.is-hit{box-shadow:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029, 0 24px 24px -12px #0003, 0 0 48px color-mix(in srgb, var(--accent) 48%, transparent), inset 0 0 22px color-mix(in srgb, var(--accent) 16%, transparent)}.fxd .fx-card--result:after{content:"";border:1.5px solid color-mix(in srgb, var(--accent) 70%, transparent);opacity:0;pointer-events:none;border-radius:13px;position:absolute;inset:-2px}.fxd .fx-card--result.is-hit:after{animation:.7s ease-out fx-recv}@keyframes fx-recv{0%{opacity:.9;transform:scale(.97)}to{opacity:0;transform:scale(1.12)}}.fxd .fx-card.is-ghost{border-color:#ffffff1a;border-left-color:color-mix(in srgb, var(--fx-bad) 45%, transparent);box-shadow:none;filter:grayscale(.55)saturate(.7);opacity:.62;background:linear-gradient(#ffffff05,#0000002e);border-left-style:dashed}.fxd .fx-card.is-ghost .fx-label{color:var(--muted,#9aa0a6)}.fxd .fx-card.is-ghost .fx-chip{color:var(--fx-bad);background:color-mix(in srgb, var(--fx-bad) 16%, #0c0d12);border-color:color-mix(in srgb, var(--fx-bad) 42%, transparent)}.fxd .fx-card.is-ghost .fx-port{background:var(--fx-bad);box-shadow:none;opacity:.4}.fxd .fx-card.is-ghost .fx-role{color:var(--fx-bad);opacity:.85}.fxd .fx-links{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.fxd .fx-baseline{stroke:#ffffff12;stroke-width:1px;stroke-dasharray:2 5;vector-effect:non-scaling-stroke}.fxd .fx-rail{fill:none;stroke:color-mix(in srgb, var(--accent) 22%, transparent);stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .5s .25s}.fxd .fx-flow{fill:none;stroke:var(--fx-line);stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:7 9;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .5s .3s}.fxd.is-ready .fx-rail{opacity:1}.fxd.is-ready .fx-flow{opacity:.85;animation:1.1s linear infinite fx-drift}@keyframes fx-drift{to{stroke-dashoffset:-16px}}.fxd .fx-rail{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset .6s var(--fx-ease) .2s, opacity .4s ease .2s}.fxd.is-ready .fx-rail{stroke-dashoffset:0}.fxd .fx-arrowhead{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 45%, transparent));transition:opacity .4s .45s}.fxd .fx-seg.is-frac .fx-rail,.fxd .fx-seg.is-dead .fx-rail{stroke:color-mix(in srgb, var(--fx-bad) 34%, transparent)}.fxd .fx-seg.is-frac .fx-flow{stroke:var(--fx-bad);opacity:1;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--fx-bad) 55%, transparent));animation:none}.fxd .fx-seg.is-dead .fx-flow{stroke:color-mix(in srgb, var(--fx-bad) 30%, transparent);stroke-dasharray:2 7;opacity:.5;animation:none}.fxd .fx-frac{opacity:0;transition:opacity .4s}.fxd .fx-seg.is-frac.is-shown .fx-frac{opacity:1}.fxd .fx-tear{fill:none;stroke:var(--fx-bad);stroke-width:2.4px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px color-mix(in srgb, var(--fx-bad) 85%, transparent)) drop-shadow(0 0 6px color-mix(in srgb, var(--fx-bad) 45%, transparent))}.fxd .fx-frac-badge{fill:#140709;stroke:var(--fx-bad);stroke-width:1.6px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--fx-bad) 80%, transparent)) drop-shadow(0 0 10px color-mix(in srgb, var(--fx-bad) 45%, transparent))}.fxd .fx-frac-x{fill:var(--fx-bad);font-family:var(--mono,monospace);text-anchor:middle;dominant-baseline:central;font-size:13px;font-weight:700}.fxd .fx-shard{fill:var(--fx-bad);opacity:0;transform-box:fill-box;transform-origin:50%}.fxd .fx-seg.is-frac.is-shown .fx-frac{animation:2.4s ease-in-out infinite fx-flicker}@keyframes fx-flicker{0%,to{opacity:1}46%{opacity:.74}50%{opacity:.92}}.fxd .fx-seg.is-blown .fx-frac{animation:.5s steps(2,end) fx-glitch}@keyframes fx-glitch{0%{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,-1px)}80%{transform:translate(1px,1px)}to{transform:translate(0)}}.fxd .fx-seg.is-blown .fx-shard{animation:.55s ease-out fx-shard-fly}@keyframes fx-shard-fly{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--sx,0), var(--sy,0)) scale(.4)}}.fxd .fx-pulse{opacity:0;transition:opacity .18s}.fxd .fx-pulse.on{opacity:1}.fxd .fx-pulse-head{fill:#fff;filter:drop-shadow(0 0 5px var(--accent)) drop-shadow(0 0 12px color-mix(in srgb, var(--accent) 80%, transparent))}.fxd .fx-pulse-glow{fill:color-mix(in srgb, var(--accent) 55%, transparent)}.fxd .fx-pulse-trail{fill:var(--accent)}.fxd .fx-pulse-after{fill:color-mix(in srgb, var(--accent) 70%, transparent);opacity:.55}.fxd.is-compact .fx-track{gap:8px}.fxd.is-compact .fx-card{gap:3px;min-width:90px;max-width:190px;padding:9px 11px 8px}.fxd.is-compact .fx-card .fx-label{font-size:.84rem;line-height:1.22}.fxd.is-compact .fx-card .fx-role{font-size:.54rem}.fxd.is-compact .fx-chip{top:-8px;right:8px}.fxd.is-compact .fx-card--result{min-width:104px;padding:11px 13px 10px}.fxd.is-compact .fx-card--result .fx-label{font-size:.94rem}@media (prefers-reduced-motion:reduce){.fxd .fx-card{transition:opacity .3s,transform .3s}.fxd.is-ready .fx-flow,.fxd .fx-seg.is-frac.is-shown .fx-frac{animation:none}.fxd .fx-pulse{display:none}}.reveal .viz .bc-svg{display:block;overflow:visible}.reveal .bc-bar{transition:filter .26s cubic-bezier(.22,1,.36,1),opacity .26s cubic-bezier(.22,1,.36,1)}.reveal .bc-bar--hot{filter:drop-shadow(0 0 18px color-mix(in srgb, var(--accent) 25%, transparent))}.reveal .bc-bar-hi{filter:drop-shadow(0 0 1px #ffffff2e)}.reveal .bc-bar-hi--hot{filter:drop-shadow(0 0 2px color-mix(in srgb, var(--accent) 45%, transparent))}.reveal .bc-track{fill:#ffffff0a;transition:fill .26s}.reveal .bc-val,.reveal .bc-ratio text{font-variant-numeric:tabular-nums;transition:fill .22s}.reveal .bc-cat{font-variant-numeric:tabular-nums;transition:fill .22s,opacity .22s}.reveal .bc-ratio rect{transition:stroke .22s}.reveal .bc-hit{cursor:default}.reveal .bc-row--hi .bc-track{fill:#ffffff16}.reveal .bc-row--hi .bc-bar{filter:brightness(1.16) drop-shadow(0 0 7px color-mix(in srgb, var(--accent) 22%, transparent))}.reveal .bc-row--hi .bc-bar--hot{filter:brightness(1.06) drop-shadow(0 0 13px color-mix(in srgb, var(--accent) 55%, transparent))}.reveal .bc-row--hi .bc-val{fill:var(--accent);font-weight:700}.reveal .bc-row--hi .bc-cat{fill:var(--fg);opacity:1}@media (prefers-reduced-motion:reduce){.reveal .bc-bar,.reveal .bc-track,.reveal .bc-val,.reveal .bc-cat,.reveal .bc-ratio text,.reveal .bc-ratio rect{transition:none}}.reveal .viz.code-wrap{overflow:hidden}.reveal .code-chrome{background:linear-gradient(#0d0d14, #0d0d14) padding-box, linear-gradient(160deg, #ffffff38, color-mix(in srgb, var(--accent) 38%, transparent) 42%, #ffffff0d) border-box;max-height:100%;box-shadow:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029, 0 24px 24px -12px #0003, 0 48px 64px -16px #00000057, 0 0 44px color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid #0000;border-radius:14px;flex-direction:column;animation:.44s cubic-bezier(.22,1,.36,1) both code-pop;display:flex;overflow:hidden}@keyframes code-pop{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.reveal .code-titlebar{background:linear-gradient(#23232e,#191921);border-bottom:1px solid #ffffff12;align-items:center;gap:.6rem;height:36px;padding:0 .85rem;display:flex;box-shadow:inset 0 1px #ffffff0f}.reveal .code-dots{gap:6px;display:inline-flex}.reveal .code-dots i{border-radius:50%;width:11px;height:11px;box-shadow:inset 0 1px 1px #ffffff57,inset 0 -1px 1px #00000040}.reveal .code-dots i:first-child{background:#ff5f57}.reveal .code-dots i:nth-child(2){background:#febc2e}.reveal .code-dots i:nth-child(3){background:#28c840}.reveal .code-url{text-align:center;font-family:var(--mono);letter-spacing:.04em;color:#7d8494;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.68rem;overflow:hidden}.reveal .code-badge{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);border-radius:6px;padding:2px 7px;font-size:.58rem;font-weight:700}.reveal .code-pre{min-height:0;font-family:var(--mono);color:#d4d9e0;white-space:pre;counter-reset:ln;font-variant-ligatures:contextual;background:linear-gradient(90deg,#ffffff06 0 2.95rem,#ffffff12 2.95rem,#0000 calc(2.95rem + 1px)),#0d0d14;flex:1;margin:0;padding:1.05rem 1.3rem 1.05rem 0;font-size:.95rem;line-height:1.68;overflow:auto}.reveal .code-line{animation:.32s cubic-bezier(.22,1,.36,1) both code-line-in;animation-delay:calc(.18s + var(--i,0) * 55ms);border-left:2px solid #0000;padding:0 .5rem 0 3.7rem;display:block;position:relative}@keyframes code-line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reveal .code-line:before{counter-increment:ln;content:counter(ln);text-align:right;color:#414a5c;font-variant-numeric:tabular-nums;width:2.3rem;font-size:.82em;position:absolute;left:0}.reveal .code-line.hl{border-left-color:var(--accent);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 16%, transparent), color-mix(in srgb, var(--accent) 5%, transparent) 55%, transparent 85%)}.reveal .code-line.hl:before{color:var(--accent)}.reveal .code-pre .c-com{color:#5b6478;font-style:italic}.reveal .code-pre .c-str{color:#9ece6a}.reveal .code-pre .c-kw{color:var(--accent);font-weight:600}.reveal .code-pre .c-num{color:#f0b866}.reveal .code-pre .c-fn{color:#7fb4ff}.reveal .code-pre .c-type{color:#b69cff}.reveal .code-caret{vertical-align:text-bottom;background:color-mix(in srgb, var(--accent) 85%, #fff 10%);border-radius:1px;width:7px;height:1.05em;margin-left:2px;animation:1.15s steps(2,start) 1.2s infinite code-caret-blink;display:inline-block}@keyframes code-caret-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.reveal .code-chrome,.reveal .code-line{animation:none}.reveal .code-caret{opacity:.7;animation:none}}.reveal .viz.tx-wrap{box-sizing:border-box;height:100%;font-family:var(--sans);text-align:center;--c-line:#ffffff14;--c-txt:#d1d5db;--prog:var(--pending);--roll:var(--warn);--surface-sheen:linear-gradient(180deg, #ffffff09, #fff0 38%);--surface-bg:#0c0d12;--lift:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029, 0 24px 24px -12px #0003;flex-direction:column;justify-content:center;align-items:stretch;gap:12px;display:flex}.reveal .tx-stage{grid-template-columns:repeat(12,1fr);align-items:stretch;column-gap:0;display:grid}.reveal .tx-card[data-side=a]{grid-column:1/span 4}.reveal .tx-mid{grid-column:6/span 2}.reveal .tx-card[data-side=b]{grid-column:9/span 4}.reveal .tx-card{border:1px solid var(--c-line);background:var(--surface-sheen), var(--surface-bg);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;padding:14px 16px 12px;transition:border-color .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),background .22s,transform .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative;box-shadow:inset 0 1px #ffffff0d}.reveal .tx-card[data-state=pending],.reveal .tx-card[data-state=validated],.reveal .tx-card[data-state=rejected],.reveal .tx-card[data-state=committed]{background:var(--surface-sheen) padding-box, linear-gradient(var(--surface-bg), var(--surface-bg)) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--tone) 40%, transparent) 45%, #ffffff0d) border-box;box-shadow:inset 0 1px 0 #ffffff0f, var(--lift), 0 0 22px color-mix(in srgb, var(--tone) 14%, transparent);border:1px solid #0000}.reveal .tx-card[data-state=pending]{--tone:var(--prog)}.reveal .tx-card[data-state=validated]{--tone:var(--ok)}.reveal .tx-card[data-state=rejected]{--tone:var(--bad)}.reveal .tx-card[data-state=committed]{--tone:var(--ok);animation:.42s cubic-bezier(.22,1,.36,1) tx-commit}@keyframes tx-commit{0%{box-shadow:inset 0 1px 0 #ffffff0f, var(--lift), 0 0 10px color-mix(in srgb, var(--ok) 10%, transparent)}45%{box-shadow:inset 0 1px 0 #ffffff0f, var(--lift), 0 0 38px color-mix(in srgb, var(--ok) 46%, transparent)}to{box-shadow:inset 0 1px 0 #ffffff0f, var(--lift), 0 0 22px color-mix(in srgb, var(--ok) 14%, transparent)}}.reveal .tx-card-h{justify-content:center;align-items:center;gap:8px;line-height:1.1;display:flex}.reveal .tx-acct{color:var(--muted);white-space:nowrap;font-size:1rem;font-weight:500}.reveal .tx-badge{width:1.35rem;height:1.35rem;font-family:var(--mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);border-radius:50%;flex:none;place-items:center;font-size:.66rem;display:grid;box-shadow:inset 0 1px #ffffff14}.reveal .tx-bal{font-family:var(--mono);letter-spacing:-.01em;color:var(--c-txt);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:500;line-height:1.04;transition:color .3s,text-shadow .3s}.reveal .tx-card[data-state=committed] .tx-bal{color:var(--ok)}.reveal .tx-bal.tx-bal--flash{animation:.18s ease-out tx-bal-flash}@keyframes tx-bal-flash{0%{text-shadow:0 0 #0000}35%{text-shadow:0 0 18px color-mix(in srgb, currentColor 65%, transparent)}to{text-shadow:0 0 #0000}}.reveal .tx-chip{min-height:1.5rem;font-family:var(--mono);white-space:nowrap;color:#0000;opacity:0;transform-origin:50%;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;margin-top:-5px;padding:0 .5rem;font-size:.92rem;font-weight:600;line-height:1;transition:opacity .26s cubic-bezier(.22,1,.36,1),transform .26s cubic-bezier(.22,1,.36,1),color .22s,background .22s,border-color .22s;display:inline-flex;transform:scale(.7)}.reveal .tx-chip.show{opacity:1;padding:.18rem .55rem;transform:none;box-shadow:inset 0 1px #ffffff0f}.reveal .tx-card[data-side=a] .tx-chip.tx-chip--pull{opacity:0;transition-duration:.22s;transform:translate(72px)scale(.2)}.reveal .tx-card[data-side=b] .tx-chip.tx-chip--pull{opacity:0;transition-duration:.22s;transform:translate(-72px)scale(.2)}.reveal .tx-chip[data-tone=prog]{color:var(--prog);background:color-mix(in srgb, var(--prog) 13%, transparent);border-color:color-mix(in srgb, var(--prog) 50%, transparent)}.reveal .tx-chip[data-tone=bad]{color:var(--bad);background:color-mix(in srgb, var(--bad) 13%, transparent);border-color:color-mix(in srgb, var(--bad) 50%, transparent)}.reveal .tx-chip[data-tone=ok]{color:var(--ok);background:color-mix(in srgb, var(--ok) 13%, transparent);border-color:color-mix(in srgb, var(--ok) 50%, transparent)}.reveal .tx-chip[data-tone=done]{color:var(--ok);background:color-mix(in srgb, var(--ok) 20%, transparent);border-color:var(--ok)}.reveal .tx-pend{font-family:var(--mono);letter-spacing:.1em;color:var(--prog);border:1px solid color-mix(in srgb, var(--prog) 50%, transparent);background:color-mix(in srgb, var(--prog) 12%, transparent);opacity:0;pointer-events:none;border-radius:5px;padding:1px 5px;font-size:.5rem;font-weight:600;transition:opacity .22s,transform .22s,color .22s,border-color .22s,background .22s;position:absolute;top:8px;right:10px;transform:translateY(-2px)}.reveal .tx-card[data-state=pending] .tx-pend,.reveal .tx-card[data-state=validated] .tx-pend{opacity:1;transform:none}.reveal .tx-card[data-state=validated] .tx-pend{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 50%, transparent);background:color-mix(in srgb, var(--ok) 12%, transparent)}.reveal .tx-mid{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.reveal .viz.tx-wrap .tx-flow{width:100%;height:8px;color:var(--faint);opacity:.85;transition:color .22s,opacity .22s,transform .22s;overflow:visible}.reveal .tx-flow .tx-flow-l{stroke:currentColor;stroke-width:1.4px}.reveal .tx-flow .tx-flow-h{fill:currentColor}.reveal .tx-mid[data-arrow=none] .tx-flow{opacity:.22}.reveal .tx-mid[data-arrow=back] .tx-flow{transform:scaleX(-1)}.reveal .tx-mid[data-tone=prog] .tx-flow{color:var(--prog)}.reveal .tx-mid[data-tone=bad] .tx-flow{color:var(--bad)}.reveal .tx-mid[data-tone=roll] .tx-flow{color:var(--roll)}.reveal .tx-mid[data-tone=ok] .tx-flow{color:var(--ok)}.reveal .tx-box{border:1px solid var(--c-line);background:var(--surface-sheen), var(--surface-bg);border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:9px 11px 7px;transition:border-color .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative;box-shadow:inset 0 1px #ffffff0d}.reveal .tx-box[data-tone=prog],.reveal .tx-box[data-tone=bad],.reveal .tx-box[data-tone=roll],.reveal .tx-box[data-tone=ok]{background:var(--surface-sheen) padding-box, linear-gradient(var(--surface-bg), var(--surface-bg)) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--tone) 42%, transparent) 45%, #ffffff0d) border-box;box-shadow:inset 0 1px 0 #ffffff0f, var(--lift), 0 0 16px color-mix(in srgb, var(--tone) 16%, transparent);border:1px solid #0000}.reveal .tx-box[data-tone=prog]{--tone:var(--prog)}.reveal .tx-box[data-tone=bad]{--tone:var(--bad)}.reveal .tx-box[data-tone=roll]{--tone:var(--roll)}.reveal .tx-box[data-tone=ok]{--tone:var(--ok)}.reveal .viz.tx-wrap .tx-lockicon{width:22px;height:22px;color:var(--faint);transition:color .22s}.reveal .tx-lockicon path,.reveal .tx-lockicon rect{stroke:currentColor;stroke-width:1.6px;fill:none}.reveal .tx-lockicon .tx-lbody{fill:color-mix(in srgb, currentColor 16%, transparent)}.reveal .tx-lockicon .tx-khole{fill:currentColor;stroke:none}.reveal .tx-shackle{transition:transform .26s cubic-bezier(.22,1,.36,1)}.reveal .tx-box[data-tone=prog] .tx-lockicon{color:var(--prog)}.reveal .tx-box[data-tone=bad] .tx-lockicon{color:var(--bad)}.reveal .tx-box[data-tone=roll] .tx-lockicon{color:var(--roll)}.reveal .tx-box[data-tone=ok] .tx-lockicon{color:var(--ok)}.reveal .tx-box[data-tone=roll] .tx-shackle{transform-origin:16px 8px;transform:translate(2.5px,-1px)rotate(-14deg)}.reveal .tx-box .tx-icons{place-items:center;width:22px;height:22px;display:grid;position:relative}.reveal .tx-box .tx-icons>svg{grid-area:1/1}.reveal .tx-box .tx-icons:after{content:"";pointer-events:none;border:1.5px dashed color-mix(in srgb, var(--prog) 60%, transparent);opacity:0;border-radius:50%;transition:opacity .22s,transform .22s cubic-bezier(.22,1,.36,1);position:absolute;inset:-6px;transform:scale(.8)}.reveal .tx-box[data-tone=prog] .tx-icons:after{opacity:1;animation:2.5s linear infinite tx-dashspin;transform:scale(1)}@keyframes tx-dashspin{to{transform:rotate(360deg)}}.reveal .viz.tx-wrap .tx-checkicon{width:22px;height:22px;color:var(--faint);display:none}.reveal .tx-checkicon path,.reveal .tx-checkicon circle{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round}.reveal .tx-checkicon .tx-ckring{fill:color-mix(in srgb, currentColor 15%, transparent)}.reveal .tx-box[data-icon=check] .tx-lockicon{display:none}.reveal .tx-box[data-icon=check] .tx-icons:after{opacity:0;animation:none}.reveal .tx-box[data-icon=check] .tx-checkicon{animation:.22s cubic-bezier(.22,1,.36,1) tx-checkpop;display:block}.reveal .tx-box[data-icon=check]{box-shadow:inset 0 1px 0 #ffffff0f, var(--lift), 0 0 24px color-mix(in srgb, var(--ok) 30%, transparent)}.reveal .tx-box[data-icon=check] .tx-checkicon{color:color-mix(in srgb, var(--ok) 80%, #fff)}.reveal .tx-box[data-icon=check] .tx-box-l{color:color-mix(in srgb, var(--ok) 85%, #fff)}@keyframes tx-checkpop{0%{opacity:.4;transform:scale(.9)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.reveal .tx-box-l{font-family:var(--mono);letter-spacing:.09em;color:var(--muted);white-space:nowrap;font-size:.56rem;font-weight:700;transition:color .22s}.reveal .tx-box[data-tone=prog] .tx-box-l{color:var(--prog)}.reveal .tx-box[data-tone=bad] .tx-box-l{color:var(--bad)}.reveal .tx-box[data-tone=roll] .tx-box-l{color:var(--roll)}.reveal .tx-box[data-tone=ok] .tx-box-l{color:var(--ok)}.reveal .tx-log{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.reveal .tx-tok{cursor:pointer;border:1px solid var(--c-line);font-family:var(--mono);letter-spacing:.02em;color:var(--muted);opacity:.34;background:linear-gradient(#ffffff08,#fff0 60%),#0c0d12;border-radius:999px;padding:3px 8px;font-size:.72rem;line-height:1;transition:opacity .22s,color .22s,border-color .22s,background .22s,box-shadow .22s,text-shadow .22s,transform .22s;box-shadow:inset 0 1px #ffffff0a}.reveal .tx-tok.past{opacity:.6}.reveal .tx-tok.future{opacity:.4}.reveal .tx-tok.cur{opacity:1;color:var(--fg);border-color:color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:inset 0 1px 0 #ffffff12, 0 0 12px color-mix(in srgb, var(--accent) 14%, transparent);font-weight:700}.reveal .tx-tok.cur[data-tok=begin]{color:var(--accent)}.reveal .tx-tok.cur[data-tok=prog]{color:var(--prog);border-color:color-mix(in srgb, var(--prog) 55%, transparent)}.reveal .tx-tok.cur[data-tok=bad]{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 55%, transparent)}.reveal .tx-tok.cur[data-tok=roll]{color:var(--roll);border-color:color-mix(in srgb, var(--roll) 55%, transparent)}.reveal .tx-tok.cur[data-tok=ok]{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 55%, transparent)}.reveal .tx-tok.cur[data-tok=commit]{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 60%, transparent);text-shadow:0 0 14px color-mix(in srgb, var(--ok) 45%, transparent)}.reveal .tx-tok:hover{opacity:.95;color:var(--fg);border-color:#ffffff2e;transform:translateY(-1px)}.reveal .tx-arw{color:var(--faint);opacity:.5;-webkit-user-select:none;user-select:none;font-size:.68rem}.reveal .tx-cap{flex-direction:column;align-items:center;gap:3px;padding:0 14px;display:flex}.reveal .tx-cap-1{font-family:var(--sans);color:var(--fg);font-size:1.06rem;font-weight:600;line-height:1.25}.reveal .tx-cap-2{font-family:var(--sans);color:var(--muted);opacity:.7;font-size:.86rem;font-weight:400;line-height:1.3}.reveal .tx-ctrl{justify-content:center;gap:8px;display:flex}.reveal .tx-btn{color:var(--fg);font-family:var(--sans);cursor:pointer;background:linear-gradient(#ffffff0d,#fff0 60%),#0c0d12;border:1px solid #ffffff1f;border-radius:999px;padding:5px 14px;font-size:.74rem;transition:color .18s,border-color .18s,background .18s,box-shadow .18s,transform .18s cubic-bezier(.22,1,.36,1);box-shadow:inset 0 1px #ffffff0d}.reveal .tx-btn:hover{border-color:color-mix(in srgb, var(--accent) 55%, #ffffff2e);color:var(--accent);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0f,0 4px 12px -4px #0006}.reveal .tx-btn:active{transform:translateY(0)}.reveal .tx-play{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.reveal .tx-play.playing{background:var(--accent);color:#0a0a0a;border-color:var(--accent);box-shadow:inset 0 1px 0 #ffffff40, 0 0 16px color-mix(in srgb, var(--accent) 35%, transparent);font-weight:600}@media (prefers-reduced-motion:reduce){.reveal .viz.tx-wrap *{animation:none!important}.reveal .viz.tx-wrap *,.reveal .viz.tx-wrap :after{transition-duration:.001ms!important}.reveal .tx-box .tx-icons:after{opacity:0!important}}.reveal .viz.net-wrap{box-sizing:border-box;height:100%;font-family:var(--sans);text-align:center;flex-direction:column;gap:6px;display:flex}.reveal .net-graph{flex:1;min-height:0;position:relative}.reveal .viz.net-wrap .net-svg{width:100%;height:100%;overflow:visible}.reveal .net-dim{fill:none;stroke:#2a3440;stroke-width:1px;opacity:.55;stroke-linecap:round}.reveal .net-cool{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.reveal .net-comet{fill:none;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round}.reveal .net-dot{fill:url(#nw-core);filter:drop-shadow(0 0 9px #60b5ff99)}.reveal .net-junction{fill:#46586a;opacity:.6}.reveal .net-fork{fill:none;stroke:#ddf4ff;stroke-width:2px}.reveal .net-halo{fill:url(#nw-halo);pointer-events:none}.reveal .net-source{fill:url(#nw-node);stroke:#34d399;stroke-width:2.2px}.reveal .net-client{fill:url(#nw-node);stroke:#37556e;stroke-width:2px}.reveal .net-ripple{fill:none;stroke:#66c7ff;stroke-width:2px}.reveal .net-hairline{fill:none;stroke:#ffffff1f;stroke-width:1px}.reveal .net-core-dot{fill:#37556e}.reveal .net-heartbeat{fill:none;stroke:#34d399;stroke-width:1px;stroke-dasharray:4 10;opacity:.5}.reveal .net-underglow{pointer-events:none}.reveal .net-burst{fill:#bfe3ff}.reveal .net-spark{stroke:#eaf7ff;stroke-width:1px;stroke-linecap:round;pointer-events:none}.reveal .net-grp{fill:var(--muted,#a6acb3);font-family:var(--sans);letter-spacing:.02em;font-size:.72rem}.reveal .net-src-l{fill:var(--fg,#f3f4f6);font-family:var(--mono);font-size:.74rem;font-weight:600}.reveal .net-src-i{fill:#cfeede;font-family:var(--sans);letter-spacing:.02em;font-size:.58rem;font-weight:700}.reveal .net-delta{fill:#eaf7ff;font-family:var(--sans);font-size:.72rem;font-weight:700}.reveal .net-tick{fill:#7fc4ff;font-family:var(--mono);font-size:.62rem;font-weight:600}.reveal .net-cap{font-family:var(--serif);color:var(--muted,#a6acb3);padding:0 1rem;font-size:.95rem;font-style:italic;line-height:1.4}.reveal .net-cap b{color:var(--accent,#6cb6ff);font-style:normal;font-weight:600}.reveal .viz.cg-wrap{text-align:left;flex-direction:column;max-width:1140px;margin:0 auto;display:flex;position:relative}.reveal .cg-title{font-family:var(--sans);color:var(--muted);text-align:center;margin-bottom:.55rem;font-size:.8rem}.reveal .cg-classes{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.7rem;display:flex}.reveal .cg-class{background:color-mix(in srgb, var(--c) 9%, #0c0d12);border:1px solid color-mix(in srgb, var(--c) 30%, transparent);border-top:2px solid var(--c);box-shadow:0 0 14px color-mix(in srgb, var(--c) 12%, transparent);border-radius:8px;align-items:center;gap:.42rem;padding:.28rem .62rem .3rem;display:inline-flex}.reveal .cg-class i{background:var(--c);width:7px;height:7px;box-shadow:0 0 8px var(--c);border-radius:50%}.reveal .cg-class b{font-family:var(--mono);color:var(--fg);font-size:.72rem;font-weight:600}.reveal .cg-class small{font-family:var(--mono);color:var(--faint);font-size:.58rem}.reveal .cg-graph{flex:1;min-height:0;padding:0;position:relative}.reveal .cg-edges{z-index:1;opacity:0;transition:opacity .5s .12s;position:absolute;inset:0}.reveal .cg-edges path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1) .12s}.reveal .cg-wrap.cg-ready .cg-edges{opacity:1}.reveal .cg-wrap.cg-ready .cg-edges path{stroke-dashoffset:0}.reveal .cg-labels{z-index:2;pointer-events:none;position:absolute;inset:0}.reveal .cg-label{font-family:var(--mono);letter-spacing:.01em;color:var(--accent);white-space:nowrap;opacity:0;background:#08080ceb;border:1px solid #ffffff24;border-radius:6px;padding:.12rem .46rem;font-size:.62rem;line-height:1.3;transition:opacity .4s .45s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0000008c}.reveal .cg-wrap.cg-ready .cg-label{opacity:1}.reveal .cg-node{z-index:4;box-sizing:border-box;width:216px;color:var(--fg);cursor:pointer;text-align:left;font-family:var(--mono);border:1px solid color-mix(in srgb, var(--c) 50%, transparent);border-left:3px solid var(--c);box-shadow:0 1px 0 #ffffff0a, 0 0 16px color-mix(in srgb, var(--c) 16%, transparent);opacity:0;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s;transition-delay:calc(var(--i,0) * 70ms);background:#0c0d12;border-radius:9px;align-items:flex-start;gap:.5rem;padding:.5rem .6rem .52rem;display:flex;position:absolute;transform:translate(-50%,-50%)scale(.92)}.reveal .cg-wrap.cg-ready .cg-node{opacity:1;transform:translate(-50%,-50%)scale(1)}.reveal .cg-node:hover,.reveal .cg-node:focus-visible{border-color:color-mix(in srgb, var(--c) 85%, transparent);box-shadow:0 0 22px color-mix(in srgb, var(--c) 40%, transparent);outline:none}.reveal .cg-node.active{border-color:var(--c);box-shadow:0 0 26px color-mix(in srgb, var(--c) 55%, transparent)}.reveal .cg-badge{width:20px;height:20px;font-family:var(--mono);color:var(--c);background:color-mix(in srgb, var(--c) 20%, #0c0d12);border:1px solid color-mix(in srgb, var(--c) 70%, transparent);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:.66rem;font-weight:600;display:grid}.reveal .cg-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.reveal .cg-name{min-width:0;font-family:var(--mono);flex-direction:column;display:flex}.reveal .cg-qual{color:var(--muted);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;font-weight:500;line-height:1.2;overflow:hidden}.reveal .cg-method{color:var(--fg);word-break:keep-all;overflow-wrap:anywhere;font-size:.82rem;font-weight:600;line-height:1.22}.reveal .cg-method.cg-solo{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;font-weight:500;display:-webkit-box;overflow:hidden}.reveal .cg-file{font-family:var(--mono);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;margin-top:.12rem;font-size:.6rem;overflow:hidden}.reveal .cg-source{z-index:6;border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);box-shadow:0 30px 80px #0009, 0 0 50px color-mix(in srgb, var(--accent) 14%, transparent);opacity:0;visibility:hidden;pointer-events:none;transform-origin:bottom;background:#08080cf9;border-radius:12px;flex-direction:column;transition:opacity .36s,transform .42s cubic-bezier(.22,1,.36,1),visibility .36s;display:flex;position:absolute;inset:0;overflow:hidden;transform:translateY(16px)scale(.985)}.reveal .cg-source.show{opacity:1;visibility:visible;pointer-events:auto;transform:none}.reveal .cg-src-h{background:linear-gradient(#20202b,#15151c);border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .85rem;display:flex;box-shadow:inset 0 1px #ffffff0d}.reveal .cg-src-t{min-width:0;font-family:var(--mono);flex:1;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.reveal .cg-src-nm{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.reveal .cg-src-t em{color:var(--faint);flex:none;font-size:.64rem;font-style:normal}.reveal .cg-x{color:var(--muted);font-family:var(--sans);cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:6px;flex:none;padding:.22rem .55rem;font-size:.66rem;transition:color .2s,border-color .2s}.reveal .cg-x:hover{color:var(--fg);border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.reveal .cg-code{font-family:var(--mono);color:#d4d9e0;white-space:pre;counter-reset:cgln;background:linear-gradient(90deg,#ffffff06 0 2.5rem,#ffffff12 2.5rem,#0000 calc(2.5rem + 1px));flex:1;margin:0;padding:.8rem 1.1rem .85rem 0;font-size:.8rem;line-height:1.68;overflow:auto}.reveal .cg-cl{animation:.3s cubic-bezier(.22,1,.36,1) both cg-cl-in;animation-delay:calc(.12s + var(--i,0) * 45ms);padding:0 .5rem 0 3.2rem;display:block;position:relative}@keyframes cg-cl-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.reveal .cg-cl:before{counter-increment:cgln;content:counter(cgln);text-align:right;color:#414a5c;font-variant-numeric:tabular-nums;width:2rem;font-size:.82em;position:absolute;left:0}.reveal .cg-code .c-num{color:#f0b866}.reveal .cg-code .c-fn{color:#7fb4ff}@media (prefers-reduced-motion:reduce){.reveal .cg-cl{animation:none}}.sw-wrap{font-family:var(--sans,"Pretendard", sans-serif);box-sizing:border-box;height:100%;min-height:0;color:var(--fg,#f3f4f6);flex-direction:column;gap:7px;padding:0;display:flex}.sw-stages{border-bottom:1px solid #1a1d22;flex-wrap:wrap;align-items:center;gap:2px;padding-bottom:8px;display:flex}.sw-stage{color:var(--muted,#9aa0a6);font-family:var(--mono,monospace);cursor:pointer;white-space:nowrap;letter-spacing:.02em;background:0 0;border:1px solid #2a2d33;border-radius:4px;padding:4px 10px;font-size:.68rem;transition:border-color .2s,color .2s,background .2s,box-shadow .2s}.sw-stage:hover{border-color:var(--muted,#9aa0a6);color:var(--fg,#f3f4f6)}.sw-stage.active{background:linear-gradient(180deg, color-mix(in srgb, var(--accent,#6cb6ff) 90%, #fff 10%), var(--accent,#6cb6ff));border-color:var(--accent,#6cb6ff);color:#080809;box-shadow:inset 0 1px 0 #ffffff40, 0 0 12px color-mix(in srgb, var(--accent,#6cb6ff) 45%, transparent);font-weight:700}.sw-sep{color:var(--faint,#5b6066);-webkit-user-select:none;user-select:none;padding:0 1px;font-size:.82rem}.sw-graph{flex:1;min-height:180px;position:relative}.sw-connectors{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sw-conn-path{fill:none;stroke:var(--faint,#5b6066);stroke-width:1.4px;stroke-dasharray:4 3;opacity:.5;vector-effect:non-scaling-stroke;transition:stroke .35s,stroke-width .35s,opacity .35s}.sw-conn-path.active{stroke:var(--accent,#6cb6ff);stroke-width:2.2px;stroke-dasharray:none;opacity:1}.sw-conn-labels{z-index:9;pointer-events:none;position:absolute;inset:0}.sw-conn-label{font-family:var(--mono,monospace);letter-spacing:.01em;white-space:nowrap;color:var(--muted,#9aa0a6);background:#08080cf0;border:1px solid #ffffff24;border-radius:6px;padding:2px 7px;font-size:.6rem;transition:color .3s,border-color .3s,box-shadow .3s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 9px #0000008c}.sw-conn-label.active{color:var(--accent,#6cb6ff);border-color:color-mix(in srgb, var(--accent,#6cb6ff) 55%, transparent);box-shadow:0 2px 9px #0000008c, 0 0 14px color-mix(in srgb, var(--accent,#6cb6ff) 28%, transparent)}.sw-mgr{font-family:var(--mono,monospace);color:var(--muted,#9aa0a6);letter-spacing:.02em;padding-left:2px;font-size:.66rem}.sw-mgr:before{content:"▸ ";color:var(--accent,#6cb6ff)}.sw-gate{z-index:2;flex-direction:column;transition:opacity .35s,filter .35s;display:flex;position:absolute}.sw-gate-l{font-family:var(--mono,monospace);color:var(--muted,#9aa0a6);letter-spacing:.02em;flex:none;margin-bottom:3px;font-size:.6rem}.sw-gate .sw-hold-area{flex:1}.sw-box{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;z-index:2;background:linear-gradient(#ffffff09,#fff0 38%),#0b0d11eb;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:5px;padding:8px 9px;transition:border-color .35s,box-shadow .35s,opacity .35s,filter .35s;display:flex;position:absolute;box-shadow:inset 0 1px #ffffff0d,0 6px 18px -8px #00000080}.sw-wrap:not(.sw-ready) .sw-box{opacity:0}.sw-wrap.sw-ready .sw-box{transition:border-color .35s,box-shadow .35s,opacity .5s,filter .35s}.sw-box.sw-dim,.sw-gate.sw-dim{opacity:.5;filter:saturate(.55)}.sw-box.hi{border-color:var(--accent,#6cb6ff);box-shadow:0 0 22px color-mix(in srgb, var(--accent,#6cb6ff) 22%, transparent), inset 0 0 12px color-mix(in srgb, var(--accent,#6cb6ff) 7%, transparent)}.sw-box-t{font-family:var(--mono,monospace);color:var(--fg,#f3f4f6);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:.64rem;font-weight:600;line-height:1.3;transition:color .35s;overflow:hidden}.sw-box.hi .sw-box-t{color:var(--accent,#6cb6ff)}.sw-box-sub{font-family:var(--mono,monospace);color:var(--faint,#5b6066);flex:none;margin-top:-3px;font-size:.56rem}.sw-hold{border:1px dashed color-mix(in srgb, var(--c,#5b6066) 30%, transparent);border-left:3px solid var(--c,#5b6066);background:color-mix(in srgb, var(--c,#5b6066) 7%, transparent);border-radius:5px;flex-direction:column;flex:1;min-height:0;padding:4px 5px;transition:box-shadow .35s,border-color .35s,background .35s;display:flex}.sw-hold-l{font-family:var(--mono,monospace);color:color-mix(in srgb, var(--c,#5b6066) 78%, #fff);white-space:nowrap;text-overflow:ellipsis;flex:none;margin-bottom:3px;font-size:.6rem;line-height:1.25;overflow:hidden}.sw-hold-area{flex:1;min-height:22px;position:relative}.sw-hold.pick{border-color:var(--c,#54e0a3);background:color-mix(in srgb, var(--c,#54e0a3) 16%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--c,#54e0a3) 26%, transparent), inset 0 0 10px color-mix(in srgb, var(--c,#54e0a3) 10%, transparent);border-style:solid}.sw-box--bus{border-radius:11px 11px 5px 5px;padding-bottom:15px;overflow:visible}.sw-box--bus:before,.sw-box--bus:after{content:"";border:2.5px solid var(--faint,#5b6066);z-index:3;background:#0c0e12;border-radius:50%;width:16px;height:16px;transition:border-color .35s,box-shadow .35s;position:absolute;bottom:-12px}.sw-box--bus:before{left:16%}.sw-box--bus:after{right:16%}.sw-box--bus.hi:before,.sw-box--bus.hi:after{border-color:var(--accent,#6cb6ff);box-shadow:0 0 7px color-mix(in srgb, var(--accent,#6cb6ff) 55%, transparent)}.sw-box--bus .sw-hold{border-style:solid}.sw-actor{width:var(--sw-cw,68px);height:var(--sw-ch,23px);box-sizing:border-box;background:linear-gradient(180deg, color-mix(in srgb, var(--c,#6cb6ff) 24%, #0e1015), color-mix(in srgb, var(--c,#6cb6ff) 12%, #0c0e12));border:1px solid color-mix(in srgb, var(--c,#6cb6ff) 55%, transparent);z-index:12;opacity:1;border-radius:6px;align-items:center;gap:4px;padding:0 6px;transition:left .66s cubic-bezier(.45,0,.15,1),top .66s cubic-bezier(.45,0,.15,1),opacity .4s,box-shadow .35s,transform .4s;display:flex;position:absolute;overflow:visible;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff17,0 1px 5px #00000073}.sw-actor i{background:var(--c,#6cb6ff);width:6px;height:6px;box-shadow:0 0 6px var(--c,#6cb6ff);border-radius:50%;flex:none}.sw-actor b{font-family:var(--mono,monospace);color:var(--fg,#f3f4f6);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:.62rem;font-weight:600;overflow:hidden}.sw-wrap:not(.sw-ready) .sw-actor{opacity:0}.sw-wrap.sw-init .sw-actor{transition:none}.sw-actor--parked{opacity:.16;filter:grayscale(.6);transform:translate(-50%,-50%)scale(.7)}.sw-actor--working{animation:1.15s ease-in-out infinite sw-work}@keyframes sw-work{0%,to{box-shadow:0 1px 5px #00000073, 0 0 0 0 color-mix(in srgb, var(--c,#6cb6ff) 55%, transparent)}50%{box-shadow:0 1px 5px #00000073, 0 0 10px 3px color-mix(in srgb, var(--c,#6cb6ff) 50%, transparent)}}.sw-cap{font-family:var(--serif,"Newsreader", serif);color:var(--muted,#9aa0a6);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5em;min-height:2.5em;padding:2px 16px;font-size:.84rem;font-style:italic;line-height:1.5;display:flex}.sw-verb{font-family:var(--mono,monospace);color:var(--accent,#6cb6ff);background:color-mix(in srgb, var(--accent,#6cb6ff) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent,#6cb6ff) 40%, transparent);white-space:nowrap;border-radius:5px;padding:1px 7px;font-size:.66rem;font-style:normal;font-weight:600}.sw-ctrl{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding-top:2px;display:flex}.sw-btn{color:var(--muted,#9aa0a6);font-family:var(--mono,monospace);cursor:pointer;white-space:nowrap;background:linear-gradient(#ffffff0a,#fff0);border:1px solid #ffffff1a;border-radius:999px;padding:5px 14px;font-size:.68rem;transition:border-color .2s,color .2s,background .2s,transform .18s,box-shadow .18s}.sw-btn:hover{color:var(--fg,#f3f4f6);border-color:#ffffff38;transform:translateY(-1px);box-shadow:0 3px 10px #00000059}.sw-btn.playing{background:linear-gradient(180deg, color-mix(in srgb, var(--accent,#6cb6ff) 90%, #fff 10%), var(--accent,#6cb6ff));border-color:var(--accent,#6cb6ff);color:#080809;box-shadow:inset 0 1px 0 #ffffff40, 0 0 12px color-mix(in srgb, var(--accent,#6cb6ff) 35%, transparent);font-weight:600}.sw-speed-group{background:#ffffff0a;border:1px solid #1e2124;border-radius:5px;gap:2px;padding:3px;display:flex}.sw-speed{color:var(--faint,#5b6066);font-family:var(--mono,monospace);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:3px 9px;font-size:.64rem;line-height:1;transition:background .15s,color .15s}.sw-speed:hover{color:var(--muted,#9aa0a6)}.sw-speed.active{color:var(--fg,#f3f4f6);background:#ffffff1f}.sw-region{z-index:2;pointer-events:none;align-items:center;gap:7px;height:25px;display:flex;position:absolute;top:0}.sw-region-n{width:21px;height:21px;font-family:var(--mono,monospace);color:var(--accent,#6cb6ff);background:color-mix(in srgb, var(--accent,#6cb6ff) 16%, transparent);border:1px solid color-mix(in srgb, var(--accent,#6cb6ff) 45%, transparent);border-radius:6px;flex:none;place-items:center;font-size:.74rem;font-weight:700;line-height:1;display:grid}.sw-region-txt{flex-direction:column;min-width:0;line-height:1.12;display:flex}.sw-region-txt b{font-family:var(--sans,sans-serif);letter-spacing:.06em;color:var(--fg,#f3f4f6);text-transform:uppercase;font-size:.8rem;font-weight:700}.sw-region-txt i{font-style:normal;font-family:var(--mono,monospace);letter-spacing:.01em;color:var(--faint,#5b6066);font-size:.54rem}.sw-hold--seats .sw-hold-area[data-seats]{align-items:stretch;gap:6px;padding:2px 0;display:flex}.sw-seat{border:1px dashed color-mix(in srgb, var(--c,#54e0a3) 36%, transparent);background:color-mix(in srgb, var(--c,#54e0a3) 5%, transparent);border-radius:7px;flex:1 1 0;min-width:0;transition:border-color .3s,background .3s,box-shadow .3s;position:relative}.sw-seat-n{z-index:1;font-family:var(--mono,monospace);color:color-mix(in srgb, var(--c,#54e0a3) 70%, #fff);opacity:.7;font-size:.56rem;font-weight:700;line-height:1;position:absolute;top:2px;left:6px}.sw-seat.occupied{border-style:solid;border-color:color-mix(in srgb, var(--c,#54e0a3) 60%, transparent);background:color-mix(in srgb, var(--c,#54e0a3) 12%, transparent)}.sw-seat.occupied .sw-seat-n{opacity:1}.sw-box--log{gap:4px}.sw-log{border:1px solid #ffffff12;border-left:3px solid color-mix(in srgb, var(--accent,#6cb6ff) 40%, transparent);background:#00000057;border-radius:6px;flex-direction:column;flex:none;gap:2px;min-height:0;margin-top:4px;padding:6px 7px 5px;display:flex}.sw-log-h{border-bottom:1px solid #ffffff0f;align-items:baseline;gap:7px;margin-bottom:2px;padding-bottom:3px;display:flex}.sw-log-frame{font-family:var(--mono,monospace);letter-spacing:.02em;color:var(--accent,#6cb6ff);font-size:.62rem;font-weight:700}.sw-log-note{font-family:var(--sans,sans-serif);color:var(--faint,#5b6066);font-size:.54rem}.sw-log-row{font-family:var(--mono,monospace);opacity:.4;align-items:center;gap:6px;transition:opacity .3s,color .3s;display:flex}.sw-log-n{width:13px;height:13px;color:var(--muted,#9aa0a6);background:#ffffff12;border-radius:3px;flex:none;place-items:center;font-size:.5rem;font-weight:700;display:grid}.sw-log-fn{color:var(--muted,#9aa0a6);white-space:nowrap;font-size:.6rem}.sw-log[data-state=queued] .sw-log-row{opacity:.55}.sw-log[data-state=run] .sw-log-row,.sw-log[data-state=done] .sw-log-row{opacity:1}.sw-log[data-state=run] .sw-log-fn,.sw-log[data-state=done] .sw-log-fn{color:var(--fg,#f3f4f6)}.sw-log[data-state=run] .sw-log-n,.sw-log[data-state=done] .sw-log-n{color:var(--accent,#6cb6ff);background:color-mix(in srgb, var(--accent,#6cb6ff) 18%, transparent)}.sw-log[data-state=run] .sw-log-row:last-of-type{animation:1.1s ease-in-out infinite sw-logline}@keyframes sw-logline{0%,to{opacity:1}50%{opacity:.6}}.sw-log-next{font-family:var(--mono,monospace);letter-spacing:.01em;color:color-mix(in srgb, var(--accent,#6cb6ff) 80%, #fff);opacity:.78;margin-top:2px;font-size:.55rem}.sw-badge{pointer-events:none;font-family:var(--sans,sans-serif);letter-spacing:.02em;white-space:nowrap;color:color-mix(in srgb, var(--c,#6cb6ff) 60%, #fff);background:color-mix(in srgb, var(--c,#6cb6ff) 22%, #0c0e12);border:1px solid color-mix(in srgb, var(--c,#6cb6ff) 40%, transparent);border-radius:6px;padding:2px 5px;font-size:.46rem;font-style:normal;font-weight:600;line-height:1;display:none;position:absolute;top:-8px;right:-5px}.sw-actor--badged .sw-badge{opacity:.45;display:inline-block}.sw-conn-label--2{text-align:center;flex-direction:column;align-items:center;gap:1px;line-height:1.15;display:flex}.sw-conn-fn{font-family:var(--mono,monospace)}.sw-conn-sub{font-family:var(--sans,sans-serif);letter-spacing:.01em;color:var(--faint,#5b6066);white-space:nowrap;font-size:.5rem}.sw-conn-label--2.active .sw-conn-sub{color:color-mix(in srgb, var(--accent,#6cb6ff) 70%, #fff)}.sw-wrap--office .sw-mgr{font-size:.68rem}.sw-wrap--office .sw-box-t{color:var(--muted,#9aa0a6);font-size:.68rem;font-weight:500}.sw-wrap--office .sw-box.hi .sw-box-t{color:var(--accent,#6cb6ff)}.sw-wrap--office .sw-box-sub{font-size:.55rem}.sw-wrap--office .sw-hold-l{font-size:.6rem}.sw-wrap--office .sw-hold{border-left-width:4px}.sw-wrap--office .sw-actor{border-radius:7px;box-shadow:0 2px 7px #00000080}.sw-wrap--office .sw-actor b{font-size:.74rem;font-weight:700}.sw-wrap--office .sw-actor i{width:7px;height:7px}.sw-wrap--office .sw-cap{font-size:.92rem}.sw-wrap--office .sw-box--bus{border-color:color-mix(in srgb, var(--accent,#6cb6ff) 38%, #2a2d33);box-shadow:0 0 18px color-mix(in srgb, var(--accent,#6cb6ff) 12%, transparent)}.sw-wrap--office .sw-box--bus .sw-box-t{color:var(--fg,#f3f4f6);font-weight:600}.sw-wrap--office .sw-box--bus .sw-box-sub{color:color-mix(in srgb, var(--accent,#6cb6ff) 60%, #fff);opacity:.85}.sw-wrap--office .sw-box[data-id=office] .sw-hold+.sw-hold{margin-top:4px}.sw-wrap--office .sw-box[data-id=site] .sw-hold{border-color:#ffffff0f;border-left-width:2px;border-left-color:color-mix(in srgb, var(--c,#54e0a3) 30%, transparent);background:color-mix(in srgb, var(--c,#54e0a3) 3%, transparent);flex:none;min-height:78px}.sw-wrap--office .sw-box[data-id=site] .sw-log{border-left-width:4px;border-left-color:color-mix(in srgb, var(--accent,#6cb6ff) 70%, transparent);background:#0000006b;flex:1;min-height:0;margin-top:0}.sw-wrap--office .sw-log[data-state=run] .sw-log-row:last-of-type{background:#00ff961a;border-radius:4px;animation:none;position:relative}.sw-wrap--office .sw-log[data-state=run] .sw-log-row:last-of-type:after{content:"";background:#54e0a3;border-radius:50%;width:5px;height:5px;animation:1.05s ease-in-out infinite sw-runrow;position:absolute;top:50%;right:5px;transform:translateY(-50%);box-shadow:0 0 6px #54e0a3}@keyframes sw-runrow{0%,to{opacity:1}50%{opacity:.2}}.sw-predict{z-index:30;box-sizing:border-box;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(130% 90% at 50% 70%,#08080c80,#08080ccc);justify-content:center;align-items:flex-end;padding:0 10px 12px;transition:opacity .25s;display:flex;position:absolute;inset:0}.sw-predict.show{opacity:1;visibility:visible;pointer-events:auto}.sw-pq-card{box-sizing:border-box;opacity:.55;background:#0d0f14f7;border:1px solid #ffffff29;border-radius:12px;flex-direction:column;gap:8px;width:min(100%,520px);padding:11px 14px 12px;transition:transform .25s,opacity .25s,border-color .3s,box-shadow .3s;display:flex;transform:translateY(7px);box-shadow:0 12px 34px #0000009e}.sw-predict.show .sw-pq-card{opacity:1;transform:translateY(0)}.sw-pq-head{align-items:center;gap:8px;display:flex}.sw-pq-tag{font-family:var(--mono,monospace);letter-spacing:.02em;color:var(--accent,#6cb6ff);background:color-mix(in srgb, var(--accent,#6cb6ff) 16%, transparent);border:1px solid color-mix(in srgb, var(--accent,#6cb6ff) 40%, transparent);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.62rem;font-weight:700}.sw-pq-step{font-family:var(--mono,monospace);color:var(--muted,#9aa0a6);font-size:.66rem}.sw-pq-tally{font-family:var(--mono,monospace);color:var(--faint,#5b6066);white-space:nowrap;margin-left:auto;font-size:.62rem}.sw-pq-q{font-family:var(--sans,sans-serif);color:var(--fg,#f3f4f6);font-size:.92rem;font-weight:600;line-height:1.35}.sw-pq-opts{flex-wrap:wrap;gap:7px;display:flex}.sw-pq-opt{min-width:94px;color:var(--fg,#f3f4f6);font-family:var(--sans,sans-serif);cursor:pointer;background:#ffffff0d;border:1px solid #2a2d33;border-radius:8px;flex:auto;padding:8px 10px;font-size:.78rem;font-weight:600;transition:border-color .18s,background .18s,color .18s,box-shadow .18s,transform .12s,opacity .18s}.sw-pq-opt:hover:not(:disabled){border-color:var(--accent,#6cb6ff);background:color-mix(in srgb, var(--accent,#6cb6ff) 12%, #ffffff0d)}.sw-pq-opt:active:not(:disabled){transform:translateY(1px)}.sw-pq-opt:disabled{cursor:default}.sw-pq-opt.locked:not(.correct):not(.wrong){opacity:.45}.sw-pq-opt.correct{color:#d6ffe9;background:#54e0a338;border-color:#54e0a3;box-shadow:0 0 16px #54e0a366}.sw-pq-opt.wrong{color:#ffdfe6;background:#ff6f9138;border-color:#ff6f91;box-shadow:0 0 16px #ff6f9166}.sw-pq-result{min-height:1em;font-family:var(--sans,sans-serif);color:var(--muted,#9aa0a6);font-size:.72rem;font-weight:600}.sw-pq-card.flash-ok{border-color:#54e0a3;box-shadow:0 12px 34px #0000009e,0 0 22px #54e0a359}.sw-pq-card.flash-ok .sw-pq-result{color:#54e0a3}.sw-pq-card.flash-no{border-color:#ff6f91;box-shadow:0 12px 34px #0000009e,0 0 22px #ff6f9159}.sw-pq-card.flash-no .sw-pq-result{color:#ff6f91}.sw-predict-toggle.active{background:color-mix(in srgb, var(--accent,#6cb6ff) 18%, transparent);border-color:var(--accent,#6cb6ff);color:var(--fg,#f3f4f6)}.sw-pq-score{font-family:var(--mono,monospace);color:#54e0a3;white-space:nowrap;align-self:center;padding:0 2px;font-size:.64rem;font-weight:700}.sw-pq-score[hidden]{display:none}.aa-wrap{font-family:var(--sans,"Pretendard", sans-serif);box-sizing:border-box;height:100%;min-height:0;color:var(--fg,#f3f4f6);--aa-sheen:linear-gradient(180deg, #ffffff0d, #fff0 42%);--aa-bg:#0c0d12;--aa-hair:#ffffff14;--aa-lift:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029;flex-direction:column;gap:6px;padding:0;display:flex}.aa-mgr{font-family:var(--mono,monospace);color:var(--muted,#9aa0a6);letter-spacing:.02em;flex:none;padding-left:2px;font-size:.66rem}.aa-mgr:before{content:"▸ ";color:var(--accent,#6cb6ff)}.aa-stage{flex-direction:column;flex:1;align-items:stretch;min-height:0;display:flex;position:relative}.aa-cells{flex-direction:row;flex:1;justify-content:center;align-items:center;gap:4px;min-height:0;padding:8px 8px 0;display:flex;position:relative}.aa-wrap--bars .aa-cells{align-items:stretch;padding:10px 8px 0}.aa-cell{box-sizing:border-box;flex-direction:column;flex:none;align-items:center;transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .3s,filter .3s;display:flex}.aa-bar-wrap{flex:1;justify-content:center;align-items:flex-end;width:100%;min-height:0;padding-bottom:2px;display:flex}.aa-bar{--bar-tone:#46516685;background:linear-gradient(180deg, color-mix(in srgb, var(--bar-tone) 100%, #fff 22%) 0%, color-mix(in srgb, var(--bar-tone) 100%, #fff 22%) 12%, var(--bar-tone) 42%, color-mix(in srgb, var(--bar-tone) 82%, #000) 100%);border-radius:4px 4px 1px 1px;width:78%;min-height:4px;transition:height .38s cubic-bezier(.22,1,.36,1),background .24s,box-shadow .24s;box-shadow:inset 0 1px #ffffff24}.aa-val{text-align:center;box-sizing:border-box;width:100%;font-family:var(--mono,monospace);font-variant-numeric:tabular-nums;color:var(--fg,#f3f4f6);border:1px solid var(--aa-hair);background:var(--aa-sheen), var(--aa-bg);border-radius:7px;font-size:.9rem;font-weight:600;line-height:2.2;transition:background .2s,border-color .2s,box-shadow .2s,color .2s;box-shadow:inset 0 1px #ffffff0d}.aa-idx{text-align:center;width:100%;font-family:var(--mono,monospace);color:var(--faint,#5b6066);flex:none;padding-top:3px;font-size:.56rem;line-height:1}.aa-cell[data-state=compare]{transform:translateY(-2px)}.aa-cell[data-state=compare] .aa-val{border-color:color-mix(in srgb, var(--warn,#f0b866) 80%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--warn,#f0b866) 8%, transparent), transparent 42%), color-mix(in srgb, var(--warn,#f0b866) 13%, var(--aa-bg));box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 1px color-mix(in srgb, var(--warn,#f0b866) 30%, transparent), 0 0 16px color-mix(in srgb, var(--warn,#f0b866) 32%, transparent);color:var(--warn,#f0b866)}.aa-cell[data-state=compare] .aa-bar{--bar-tone:var(--warn,#f0b866)}.aa-cell[data-state=swap]{transform:translateY(-2px)}.aa-cell[data-state=swap] .aa-val{border-color:color-mix(in srgb, var(--bad,#ff6f91) 82%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--bad,#ff6f91) 10%, transparent), transparent 42%), color-mix(in srgb, var(--bad,#ff6f91) 17%, var(--aa-bg));box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 1px color-mix(in srgb, var(--bad,#ff6f91) 38%, transparent), 0 0 18px color-mix(in srgb, var(--bad,#ff6f91) 42%, transparent);color:var(--bad,#ff6f91)}.aa-cell[data-state=swap] .aa-bar{--bar-tone:var(--bad,#ff6f91)}.aa-cell[data-state=swap]{animation:.38s cubic-bezier(.22,1,.36,1) aa-swap-lift}@keyframes aa-swap-lift{0%{transform:translateY(-2px)}40%{transform:translateY(-11px)}to{transform:translateY(-2px)}}.aa-val.aa-val--flash{animation:.2s ease-out aa-val-flash}@keyframes aa-val-flash{0%{box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 1px color-mix(in srgb, var(--bad,#ff6f91) 38%, transparent), 0 0 6px color-mix(in srgb, var(--bad,#ff6f91) 20%, transparent)}35%{box-shadow:inset 0 1px 0 #ffffff24, 0 0 0 1px #fff9, 0 0 26px color-mix(in srgb, var(--bad,#ff6f91) 70%, transparent)}to{box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 1px color-mix(in srgb, var(--bad,#ff6f91) 38%, transparent), 0 0 18px color-mix(in srgb, var(--bad,#ff6f91) 42%, transparent)}}.aa-cell[data-state=sorted] .aa-val{background:var(--aa-sheen) padding-box, linear-gradient(color-mix(in srgb, var(--ok,#54e0a3) 13%, var(--aa-bg)), color-mix(in srgb, var(--ok,#54e0a3) 13%, var(--aa-bg))) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--ok,#54e0a3) 42%, transparent) 45%, #ffffff0d) border-box;box-shadow:inset 0 1px 0 #ffffff0f, 0 0 12px color-mix(in srgb, var(--ok,#54e0a3) 26%, transparent);color:var(--ok,#54e0a3);border:1px solid #0000}.aa-cell[data-state=sorted] .aa-bar{--bar-tone:var(--ok,#54e0a3)}.aa-cell[data-state=found] .aa-val{background:var(--aa-sheen) padding-box, linear-gradient(color-mix(in srgb, var(--accent,#6cb6ff) 16%, var(--aa-bg)), color-mix(in srgb, var(--accent,#6cb6ff) 16%, var(--aa-bg))) padding-box, linear-gradient(160deg, #ffffff38, color-mix(in srgb, var(--accent,#6cb6ff) 46%, transparent) 45%, #ffffff0f) border-box;color:var(--accent,#6cb6ff);border:1px solid #0000;animation:1.3s ease-in-out infinite aa-found-pulse}@keyframes aa-found-pulse{0%,to{box-shadow:inset 0 1px 0 #ffffff0f, 0 0 14px color-mix(in srgb, var(--accent,#6cb6ff) 40%, transparent)}50%{box-shadow:inset 0 1px 0 #ffffff0f, 0 0 28px color-mix(in srgb, var(--accent,#6cb6ff) 66%, transparent), inset 0 0 10px color-mix(in srgb, var(--accent,#6cb6ff) 12%, transparent)}}.aa-cell[data-state=found] .aa-bar{--bar-tone:var(--accent,#6cb6ff)}.aa-ptr-lane{flex:none;height:24px;margin:0 8px;position:relative}.aa-ptr{font-family:var(--mono,monospace);white-space:nowrap;text-align:center;flex-direction:column;align-items:center;gap:1px;font-size:.6rem;line-height:1.05;transition:left .28s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;transform:translate(-50%)}.aa-ptr-caret{color:var(--faint,#6e747c);font-size:.46rem;line-height:1;display:block}.aa-ptr-tags{border:1px solid var(--aa-hair);background:linear-gradient(180deg, #ffffff0a, #fff0 60%), var(--aa-bg);border-radius:999px;align-items:center;gap:1px;padding:2px 7px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff0d,0 2px 6px -3px #00000080}.aa-ptr-tags i{color:var(--faint,#6e747c);margin:0 1px;font-style:normal}.aa-ptr--lo{color:var(--warn,#f0b866)}.aa-ptr--mid{color:var(--accent,#6cb6ff)}.aa-ptr--hi{color:var(--bad,#ff6f91)}.aa-cell.aa-out{opacity:.3;filter:grayscale(.55);transition:opacity .32s,filter .32s,transform .18s;transform:none}.aa-cell.aa-dim{opacity:.45;filter:grayscale(.4)}.aa-cap{font-family:var(--serif,"Newsreader", serif);color:var(--muted,#9aa0a6);text-align:center;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:.5em;min-height:2.4em;padding:2px 16px;font-size:.84rem;font-style:italic;line-height:1.5;display:flex}.aa-verb{font-family:var(--mono,monospace);color:var(--accent,#6cb6ff);background:color-mix(in srgb, var(--accent,#6cb6ff) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent,#6cb6ff) 40%, transparent);white-space:nowrap;border-radius:5px;padding:1px 7px;font-size:.66rem;font-style:normal;font-weight:600;box-shadow:inset 0 1px #ffffff14}.aa-ctrl{flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:7px;padding-top:2px;display:flex}.aa-btn{background:linear-gradient(180deg, #ffffff0a, #fff0 60%), var(--aa-bg);border:1px solid var(--aa-hair);color:var(--muted,#9aa0a6);font-family:var(--mono,monospace);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 13px;font-size:.68rem;transition:border-color .18s,color .18s,background .18s,box-shadow .18s,transform .18s cubic-bezier(.22,1,.36,1);box-shadow:inset 0 1px #ffffff0d}.aa-btn:hover{border-color:color-mix(in srgb, var(--accent,#6cb6ff) 45%, #ffffff2e);color:var(--fg,#f3f4f6);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0f,0 4px 12px -4px #00000073}.aa-btn:active{transform:translateY(0)}.aa-btn.playing{background:var(--accent,#6cb6ff);border-color:var(--accent,#6cb6ff);color:#080809;box-shadow:inset 0 1px 0 #ffffff40, 0 0 16px color-mix(in srgb, var(--accent,#6cb6ff) 35%, transparent);font-weight:600}.aa-speed-group{border:1px solid var(--aa-hair);background:#ffffff0a;border-radius:999px;gap:2px;padding:3px;display:flex;box-shadow:inset 0 1px #ffffff0a}.aa-speed{color:var(--faint,#5b6066);font-family:var(--mono,monospace);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:3px 9px;font-size:.64rem;line-height:1;transition:background .15s,color .15s}.aa-speed:hover{color:var(--muted,#9aa0a6)}.aa-speed.active{color:var(--fg,#f3f4f6);background:#ffffff1f;box-shadow:inset 0 1px #ffffff14}.aa-counter{font-family:var(--mono,monospace);color:var(--faint,#5b6066);white-space:nowrap;padding:0 2px;font-size:.64rem}.aa-predict.active{border-color:color-mix(in srgb, var(--accent,#6cb6ff) 55%, transparent);color:var(--accent,#6cb6ff);background:linear-gradient(180deg, color-mix(in srgb, var(--accent,#6cb6ff) 16%, transparent), transparent 60%), var(--aa-bg);box-shadow:inset 0 1px 0 #ffffff0f, 0 0 12px color-mix(in srgb, var(--accent,#6cb6ff) 14%, transparent)}.aa-btn--off{opacity:.4;cursor:not-allowed}.aa-btn--off:hover{border-color:var(--aa-hair);color:var(--muted,#9aa0a6);transform:none;box-shadow:inset 0 1px #ffffff0d}.aa-tally{font-family:var(--mono,monospace);color:var(--muted,#9aa0a6);white-space:nowrap;padding:0 2px;font-size:.64rem;transition:color .2s}.aa-tally.is-right{color:var(--ok,#54e0a3)}.aa-tally.is-wrong{color:var(--bad,#ff6f91)}.aa-quiz{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.aa-q{font-family:var(--sans,sans-serif);color:var(--fg,#f3f4f6);text-align:center;font-size:.82rem;font-style:normal;line-height:1.45}.aa-q-badge{font-family:var(--mono,monospace);color:var(--accent,#6cb6ff);background:color-mix(in srgb, var(--accent,#6cb6ff) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent,#6cb6ff) 40%, transparent);white-space:nowrap;border-radius:5px;margin-right:6px;padding:1px 6px;font-size:.62rem;font-weight:600;box-shadow:inset 0 1px #ffffff14}.aa-opts{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.aa-opt{background:linear-gradient(180deg, #ffffff0a, #fff0 60%), var(--aa-bg);border:1px solid var(--aa-hair);color:var(--fg,#f3f4f6);font-family:var(--mono,monospace);cursor:pointer;border-radius:999px;padding:5px 14px;font-size:.7rem;font-style:normal;font-weight:600;transition:border-color .18s,background .18s,color .18s,box-shadow .18s,transform .18s cubic-bezier(.22,1,.36,1);box-shadow:inset 0 1px #ffffff0d}.aa-opt:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent,#6cb6ff) 55%, transparent);color:var(--accent,#6cb6ff);transform:translateY(-1px)}.aa-opt:disabled{cursor:default}.aa-opt--right{background:linear-gradient(180deg, #ffffff0a, #fff0 60%) padding-box, linear-gradient(color-mix(in srgb, var(--ok,#54e0a3) 16%, var(--aa-bg)), color-mix(in srgb, var(--ok,#54e0a3) 16%, var(--aa-bg))) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--ok,#54e0a3) 45%, transparent) 45%, #ffffff0d) border-box;color:var(--ok,#54e0a3);box-shadow:inset 0 1px 0 #ffffff0f, 0 0 14px color-mix(in srgb, var(--ok,#54e0a3) 34%, transparent);border:1px solid #0000;animation:.42s aa-opt-flash}.aa-opt--wrong{background:linear-gradient(180deg, #ffffff0a, #fff0 60%) padding-box, linear-gradient(color-mix(in srgb, var(--bad,#ff6f91) 16%, var(--aa-bg)), color-mix(in srgb, var(--bad,#ff6f91) 16%, var(--aa-bg))) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--bad,#ff6f91) 45%, transparent) 45%, #ffffff0d) border-box;color:var(--bad,#ff6f91);box-shadow:inset 0 1px 0 #ffffff0f, 0 0 14px color-mix(in srgb, var(--bad,#ff6f91) 34%, transparent);border:1px solid #0000;animation:.42s aa-opt-flash}@keyframes aa-opt-flash{0%{transform:scale(.94)}55%{transform:scale(1.05)}to{transform:scale(1)}}.aa-quiz-result{font-family:var(--mono,monospace);color:var(--muted,#9aa0a6);text-align:center;min-height:1em;font-size:.64rem;font-style:normal;line-height:1.3}.aa-quiz-result.is-right{color:var(--ok,#54e0a3)}.aa-quiz-result.is-wrong{color:var(--bad,#ff6f91)}.aa-wrap:not(.aa-ready) .aa-stage{opacity:0}.aa-wrap.aa-ready .aa-stage{opacity:1;transition:opacity .42s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.aa-wrap *{animation:none!important}.aa-wrap *,.aa-wrap :after{transition-duration:.001ms!important}.aa-cell[data-state=compare],.aa-cell[data-state=swap]{transform:none}}.reveal .viz.od-wrap{position:relative}.reveal .viz.od-wrap canvas{background:radial-gradient(70% 60% at 50% 40%,#141a2c8c,#08080a33);border:1px solid #ffffff12;border-radius:12px;width:100%;height:100%;display:block}.reveal .od-head{pointer-events:none;z-index:3;font-family:var(--mono);letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:.62rem;display:flex;position:absolute;top:10px;left:16px;right:16px}.reveal .od-title{color:color-mix(in srgb, var(--accent) 80%, #fff 8%)}.reveal .od-hint{color:var(--faint,#6e747c)}.reveal .od-badge{z-index:3;pointer-events:none;font-family:var(--mono);letter-spacing:.04em;color:var(--muted,#a6acb3);-webkit-backdrop-filter:blur(3px);background:#0a0c10b8;border:1px solid #ffffff17;border-radius:7px;padding:2px 8px;font-size:.6rem;position:absolute;top:30px;right:16px}.reveal .od-panel{z-index:5;text-align:left;border:1px solid color-mix(in srgb, var(--tone,#f0b866) 55%, transparent);min-width:250px;max-width:340px;box-shadow:0 18px 50px #0009, 0 0 30px color-mix(in srgb, var(--tone,#f0b866) 14%, transparent);background:#090b0ff0;border-radius:12px;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.reveal .od-panel-h{font-family:var(--mono);color:var(--tone,#f0b866);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.8rem;padding:.5rem .8rem;font-size:.72rem;font-weight:600;display:flex}.reveal .od-panel-x{color:var(--faint,#6e747c);cursor:pointer;background:0 0;border:none;padding:0 .1rem;font-size:.72rem}.reveal .od-panel-x:hover{color:var(--fg,#f3f4f6)}.reveal .od-panel-b{font-family:var(--sans);color:#d2d7dd;padding:.6rem .85rem .7rem;font-size:.76rem;line-height:1.6}.reveal .viz.uc-wrap{text-align:left;flex-direction:column;max-width:1120px;margin:0 auto;display:flex}.reveal .uc-title{font-family:var(--sans);color:var(--muted);text-align:center;margin-bottom:.6rem;font-size:.8rem}.reveal .uc-graph{flex:1;min-height:0;position:relative}.reveal .uc-edges{z-index:1;opacity:0;width:100%;height:100%;transition:opacity .5s .15s;position:absolute;inset:0}.reveal .uc-edges path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1) .15s}.reveal .uc-edges path[stroke-dasharray="6 5"]{stroke-dasharray:6 5;stroke-dashoffset:0;opacity:0;transition:opacity .5s .3s}.reveal .uc-wrap.uc-ready .uc-edges{opacity:1}.reveal .uc-wrap.uc-ready .uc-edges path{stroke-dashoffset:0;opacity:1}.reveal .uc-node{z-index:4;opacity:0;min-width:168px;max-width:236px;transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 60ms);background:linear-gradient(#ffffff09,#fff0 38%),#0c0d12;border:1px solid #ffffff1a;border-radius:9px;position:absolute;transform:translate(-50%,-50%)scale(.95);box-shadow:inset 0 1px #ffffff0d,0 6px 18px -8px #00000080}.reveal .uc-wrap.uc-ready .uc-node{opacity:1;transform:translate(-50%,-50%)scale(1)}.reveal .uc-node--em{background:linear-gradient(#0c0d12, #0c0d12) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--c,var(--accent)) 36%, transparent) 45%, #ffffff0d) border-box;box-shadow:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029, 0 24px 24px -12px #0003, 0 0 26px color-mix(in srgb, var(--c,var(--accent)) 8%, transparent);border:1px solid #0000}.reveal .uc-head{text-align:center;border-bottom:1px solid #ffffff17;flex-direction:column;align-items:center;gap:1px;padding:.42rem .7rem .4rem;display:flex}.reveal .uc-head i{font-style:normal;font-family:var(--mono);color:var(--faint);letter-spacing:.06em;font-size:.56rem}.reveal .uc-head b{font-family:var(--mono);color:color-mix(in srgb, var(--c,var(--accent)) 75%, #fff 20%);letter-spacing:.01em;font-size:.82rem;font-weight:700}.reveal .uc-attrs,.reveal .uc-ops{font-family:var(--mono);color:#c3cad6;text-align:left;margin:0;padding:.32rem .7rem .36rem;font-size:.62rem;line-height:1.75;list-style:none}.reveal .uc-attrs{color:#9aa3b2;border-bottom:1px solid #ffffff12}.reveal .uc-attrs li:first-letter,.reveal .uc-ops li:first-letter{color:var(--faint)}.reveal .uc-labels{z-index:3;pointer-events:none;position:absolute;inset:0}.reveal .uc-elabel{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:.6rem;position:absolute;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.reveal .uc-node,.reveal .uc-edges,.reveal .uc-edges path{opacity:1;stroke-dashoffset:0;transition:none;transform:translate(-50%,-50%)}}.reveal .viz.crc-wrap{flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:1100px;margin:0 auto;display:flex}.reveal .crc-row{flex:1;justify-content:center;align-items:stretch;gap:22px;width:100%;min-height:0;padding-top:6px;display:flex}.reveal .crc-card{min-width:0;transform:rotate(var(--tilt,0deg));animation:.46s cubic-bezier(.22,1,.36,1) both crc-in;animation-delay:calc(var(--i,0) * 90ms);background:linear-gradient(#ffffff0a,#fff0 42%),#0d0e13;border:1px solid #ffffff17;border-radius:10px;flex-direction:column;flex:0 320px;display:flex;box-shadow:inset 0 1px #ffffff0d,0 10px 26px -10px #0000008c}@keyframes crc-in{0%{opacity:0;transform:translateY(12px) rotate(var(--tilt,0deg)) scale(.97)}to{opacity:1;transform:rotate(var(--tilt,0deg))}}.reveal .crc-card--em{background:linear-gradient(#0d0e13, #0d0e13) padding-box, linear-gradient(160deg, #fff3, color-mix(in srgb, var(--accent) 38%, transparent) 45%, #ffffff0d) border-box;box-shadow:0 1px 1px #00000024, 0 3px 3px -1.5px #00000024, 0 6px 6px -3px #00000026, 0 12px 12px -6px #00000029, 0 24px 24px -12px #0003, 0 0 30px color-mix(in srgb, var(--accent) 9%, transparent);border:1px solid #0000}.reveal .crc-name{border-bottom:1px solid #ffffff17;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .8rem;display:flex}.reveal .crc-name b{font-family:var(--mono);color:var(--fg);letter-spacing:.01em;font-size:.92rem;font-weight:700}.reveal .crc-name i{font-style:normal;font-family:var(--mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 34%, transparent);letter-spacing:.06em;border-radius:5px;padding:1px 6px;font-size:.56rem;font-weight:700}.reveal .crc-body{flex:1;min-height:0;display:flex}.reveal .crc-col{flex:1.25;min-width:0;padding:.55rem .75rem .7rem}.reveal .crc-col--collab{border-left:1px solid #ffffff12;flex:1}.reveal .crc-col h5{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 .4rem;font-size:.54rem;font-weight:600}.reveal .crc-col ul{margin:0;padding:0;list-style:none}.reveal .crc-col li{font-family:var(--sans);color:#cfd5de;word-break:keep-all;padding:.14rem 0 .14rem .85rem;font-size:.74rem;line-height:1.5;position:relative}.reveal .crc-col li:before{content:"";background:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:2px;width:5px;height:5px;position:absolute;top:.62em;left:.15rem}.reveal .crc-col--collab li:before{background:#ffffff47;border-radius:50%}.reveal .crc-note{font-family:var(--serif);color:var(--muted);background:var(--label-bg);border:1px solid var(--label-stroke);border-radius:999px;padding:3px 14px;font-size:.82rem;font-style:italic}@media (prefers-reduced-motion:reduce){.reveal .crc-card{animation:none}}.reveal .viz.sq-wrap{text-align:left;flex-direction:column;max-width:1040px;margin:0 auto;display:flex;position:relative}.reveal .sq-title{font-family:var(--sans);color:var(--muted);text-align:center;margin-bottom:.55rem;font-size:.8rem}.reveal .sq-stage{flex-direction:column;flex:1;min-height:0;display:flex}.reveal .sq-heads{align-items:flex-start;display:flex}.reveal .sq-life{opacity:0;min-width:0;transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 50ms);flex:1 1 0;justify-content:center;display:flex;transform:translateY(-6px)}.reveal .sq-wrap.sq-ready .sq-life{opacity:1;transform:none}.reveal .sq-chip{background:linear-gradient(#ffffff09,#0000 38%),#0c0d12;border:1px solid #ffffff14;border-radius:9px;align-items:center;gap:.4rem;max-width:100%;padding:.32rem .7rem .34rem;transition:border-color .25s,box-shadow .25s;display:inline-flex;box-shadow:inset 0 1px #ffffff0d,0 2px 8px #00000047}.reveal .sq-chip b{font-family:var(--mono);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:600;overflow:hidden}.reveal .sq-ico{color:var(--muted);flex:none}.reveal .sq-ico circle{fill:var(--muted)}.reveal .sq-ico path{stroke:var(--muted)}.reveal .sq-life.active .sq-chip{border-color:color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:inset 0 1px 0 #ffffff0f, 0 0 16px color-mix(in srgb, var(--accent) 22%, transparent)}.reveal .sq-life.active .sq-ico{color:var(--accent)}.reveal .sq-life.active .sq-ico circle{fill:var(--accent)}.reveal .sq-life.active .sq-ico path{stroke:var(--accent)}.reveal .sq-life.active .sq-chip b{color:var(--fg)}.reveal .sq-graph{flex:1;min-height:0;padding:0;position:relative}.reveal .sq-svg{z-index:1;position:absolute;inset:0}.reveal .sq-lifeline{stroke:#ffffff24;stroke-width:1px;stroke-dasharray:3 4;transition:stroke .25s}.reveal .sq-lifeline.active{stroke:color-mix(in srgb, var(--accent) 45%, #ffffff24)}.reveal .sq-act{fill:color-mix(in srgb, var(--accent) 12%, transparent);stroke:color-mix(in srgb, var(--accent) 45%, transparent);stroke-width:1px;opacity:0;transition:opacity .28s,fill .28s,stroke .28s}.reveal .sq-act.on{opacity:.55}.reveal .sq-act.is-cur{opacity:1;fill:color-mix(in srgb, var(--accent) 20%, transparent);stroke:color-mix(in srgb, var(--accent) 70%, transparent)}.reveal .sq-msg{stroke:color-mix(in srgb, var(--accent) 82%, transparent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;transition:opacity .3s,stroke .25s}.reveal .sq-msg--ret{stroke-dasharray:5 4;stroke-width:1.4px}.reveal .sq-msg.is-past{opacity:.5;stroke:color-mix(in srgb, var(--accent) 55%, #fff3)}.reveal .sq-msg.is-future{opacity:.18}.reveal .sq-msg.is-cur{opacity:1;stroke-dasharray:1;stroke-dashoffset:1px;animation:.22s cubic-bezier(.4,0,.2,1) forwards sq-draw}.reveal .sq-msg--ret.is-cur{stroke-dasharray:5 4;animation:.26s forwards sq-ret-in}.reveal .sq-msg--self.is-cur{animation-duration:.3s}@keyframes sq-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes sq-ret-in{0%{opacity:0}to{opacity:1}}.reveal .sq-labels{z-index:2;pointer-events:none;position:absolute;inset:0}.reveal .sq-label{font-family:var(--mono);letter-spacing:.01em;color:var(--fg);white-space:nowrap;font-size:.66rem;line-height:1.3;transition:opacity .3s,color .25s;position:absolute;box-shadow:0 2px 8px #00000073}.reveal .sq-label.is-past{opacity:.55;color:var(--muted)}.reveal .sq-label.is-future{opacity:.16}.reveal .sq-label.is-cur{opacity:1;color:var(--fg);border-color:color-mix(in srgb, var(--accent) 45%, #ffffff14)}.reveal .sq-cap{font-family:var(--serif);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55em;min-height:2.4em;padding:6px 16px 2px;font-size:.9rem;font-style:italic;line-height:1.5;display:flex}.reveal .sq-verb{font-family:var(--mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);white-space:nowrap;border-radius:5px;padding:1px 7px;font-size:.66rem;font-style:normal;font-weight:600}.reveal .sq-note{color:var(--muted)}.reveal .sq-ctrl{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding-top:4px;display:flex}.reveal .sq-btn{color:var(--muted);font-family:var(--mono);cursor:pointer;white-space:nowrap;background:linear-gradient(#ffffff0a,#fff0);border:1px solid #ffffff1a;border-radius:999px;padding:5px 14px;font-size:.68rem;transition:border-color .2s,color .2s,background .2s,transform .18s,box-shadow .18s}.reveal .sq-btn:hover{color:var(--fg);border-color:#ffffff38;transform:translateY(-1px);box-shadow:0 3px 10px #00000059}.reveal .sq-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:2px}.reveal .sq-btn.playing{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 90%, #fff 10%), var(--accent));border-color:var(--accent);color:#080809;box-shadow:inset 0 1px 0 #ffffff40, 0 0 12px color-mix(in srgb, var(--accent) 35%, transparent);font-weight:600}@media (prefers-reduced-motion:reduce){.reveal .sq-life{opacity:1;transition:none;transform:none}.reveal .sq-msg.is-cur,.reveal .sq-msg--ret.is-cur,.reveal .sq-msg--self.is-cur{stroke-dashoffset:0;animation:none}.reveal .sq-msg--ret.is-cur{stroke-dasharray:5 4}}.lab-toggle{z-index:7;font-family:var(--sans);letter-spacing:.01em;color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121218b8;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.72rem;transition:color .2s,border-color .2s,background .2s;display:inline-flex;position:fixed;bottom:15px;right:20px}.lab-toggle:hover{color:var(--fg);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}body.lab-mode .lab-toggle{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:#121218d9}body.lab-mode #toc,body.lab-mode .reveal .slides section.present .eyebrow,body.lab-mode .reveal .slides section.present h2,body.lab-mode .reveal .slides section.present .takeaway,body.lab-mode .reveal .progress{filter:blur(2.5px);pointer-events:none;transition:opacity .42s,filter .42s;opacity:.1!important}body.lab-mode #ambient{transition:opacity .42s;opacity:.22!important}body.lab-mode .toc-toggle,body.lab-mode .reveal .slide-number{pointer-events:none;transition:opacity .42s;opacity:.12!important}.reveal .viz.viz--focus{z-index:6;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .45s;transform:scale(1.045);box-shadow:0 30px 90px #0000008c, 0 0 64px color-mix(in srgb, var(--accent) 16%, transparent)!important}
