.presentation-selector{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--bg-dark) 0%,var(--bg-dark-elevated) 100%);color:var(--text-primary)}.selector-header{padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top, 0px));display:flex;justify-content:space-between;align-items:center;background:var(--bg-dark-overlay);border-bottom:1px solid var(--border-dark);gap:var(--spacing-lg);flex-wrap:wrap}.selector-header h1{font-size:2rem;font-weight:600}.user-info{display:flex;align-items:center;gap:var(--spacing-md);font-size:.9rem;color:var(--text-secondary)}.sign-out-button{padding:10px 16px;min-height:var(--touch-target-min);background:#e74c3c26;color:#ff6b6b;border:1px solid rgba(231,76,60,.3);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all var(--transition-fast)}.sign-out-button:hover{background:#e74c3c40;border-color:#e74c3c80}.sign-out-button:active{transform:scale(.98)}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.admin-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 20px;min-height:var(--touch-target-min);background:#ffa72633;color:#ffa726;border:1px solid rgba(255,167,38,.3);border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--transition-fast)}.admin-button:hover{background:#ffa7264d;border-color:#ffa72680;transform:translateY(-2px);box-shadow:0 4px 16px #ffa7264d}.admin-button:active{transform:translateY(0) scale(.98)}.view-bookmarks-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 20px;min-height:var(--touch-target-min);background:#667eea33;color:var(--text-primary);border:1px solid rgba(102,126,234,.3);border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--transition-fast)}.view-bookmarks-button:hover{background:#667eea4d;border-color:#667eea80;transform:translateY(-2px);box-shadow:0 4px 16px #667eea4d}.view-bookmarks-button:active{transform:translateY(0) scale(.98)}.selector-content{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:var(--spacing-xl);padding-bottom:calc(var(--spacing-xl) + var(--safe-area-bottom, 0px));overflow:auto;-webkit-overflow-scrolling:touch}.toc-container{width:100%;max-width:900px;background:var(--bg-dark-overlay);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--border-dark);box-shadow:var(--shadow-lg);max-height:calc(100vh - 12rem);display:flex;flex-direction:column}.toc-container h2{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-lg);color:var(--text-primary);text-align:center;flex-shrink:0}.toc-tree{overflow-y:auto;padding-right:var(--spacing-sm);-webkit-overflow-scrolling:touch}.toc-field{margin-bottom:var(--spacing-sm)}.toc-field-header{padding:14px 18px;min-height:var(--touch-target-comfortable);background:#34495e99;color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.toc-field-header:hover{background:#34495ecc;transform:translate(4px)}.toc-field-header:active{transform:translate(4px) scale(.99)}.toc-arrow{font-size:.75rem;width:16px;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.toc-topics{margin-left:var(--spacing-lg);margin-top:var(--spacing-sm);border-left:2px solid var(--border-dark);padding-left:var(--spacing-sm)}.toc-topic{margin-bottom:var(--spacing-sm)}.toc-topic-header{padding:12px 16px;min-height:var(--touch-target-min);background:#ffffff08;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.95rem;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.toc-topic-header:hover{background:#ffffff0f;color:var(--text-primary);transform:translate(4px)}.toc-topic-header:active{transform:translate(4px) scale(.99)}.toc-subtopics{margin-left:var(--spacing-lg);margin-top:var(--spacing-xs);border-left:2px solid var(--border-dark);padding-left:var(--spacing-sm)}.toc-subtopic{padding:12px 16px;min-height:var(--touch-target-min);color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;transition:all var(--transition-fast);margin-bottom:4px;-webkit-user-select:none;user-select:none;display:flex;align-items:center}.toc-subtopic:hover{background:var(--color-accent);color:#fff;transform:translate(4px)}.toc-subtopic:active{transform:translate(4px) scale(.99)}.toc-tree::-webkit-scrollbar{width:6px}.toc-tree::-webkit-scrollbar-track{background:transparent}.toc-tree::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.toc-tree::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (min-width: 1024px){.selector-header{padding:var(--spacing-xl);padding-top:calc(var(--spacing-xl) + var(--safe-area-top, 0px))}.toc-container{padding:var(--spacing-2xl)}}@media (max-width: 768px){.selector-header{padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + var(--safe-area-top, 0px));gap:var(--spacing-md)}.user-info span,.view-bookmarks-button span{display:none}.view-bookmarks-button{padding:12px}.selector-content{padding:var(--spacing-md)}.toc-container{padding:var(--spacing-lg);max-height:calc(100vh - 10rem)}.toc-container h2{font-size:1.25rem}}.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid;grid-template-rows:100%}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content: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:100%;height:100vh;height:calc(var(--vh,1vh) * 100);height:100dvh;overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000;--r-controls-spacing:12px;--r-overlay-header-height:40px;--r-overlay-margin:0px;--r-overlay-padding:6px;--r-overlay-gap:5px}@media screen and (max-width:1024px),(max-height:768px){.reveal-viewport{--r-overlay-header-height:26px}}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .fragment{transition:all .2s ease}.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.current-visible,.reveal .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .fragment.current-visible.current-fragment,.reveal .fragment.fade-in-then-out.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-blue,.reveal .fragment.highlight-current-blue,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-red{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{display:none;position:absolute;top:auto;bottom:var(--r-controls-spacing);right:var(--r-controls-spacing);left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.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{right:6.4em;bottom:3.2em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.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.fragmented:hover,.reveal .controls .enabled: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-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal-viewport{--r-controls-spacing:.8em}.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{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);left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:calc(var(--r-controls-spacing) - 1.4em + .3em);left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:#0003;color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:#0006;padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal.embedded.is-vertical-slide{touch-action:none}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;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)}.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{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>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.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past{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:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.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:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.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:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.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:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.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:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.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:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.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:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.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:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.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:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.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{padding:30px;min-height:700px;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translateZ(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translateZ(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.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]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.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{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:#0000;transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.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{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translateY(-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translateY(100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){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% 50%;perspective:700px}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.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{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.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 code,.reveal.rtl pre{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 ease}.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-link]:not(a):not([data-preview-link=false]),.reveal [data-preview-video]{cursor:zoom-in}.r-overlay{position:absolute;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;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;color:#fff;animation:fade-in .3s ease;font-family:ui-sans-serif,system-ui,-apple-system,Helvetica,sans-serif}.r-overlay-viewport{position:absolute;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);display:flex;flex-direction:column}.r-overlay-header{display:flex;z-index:2;box-sizing:border-box;align-items:center;justify-content:flex-end;height:var(--r-overlay-header-height);gap:6px}.r-overlay-header .r-overlay-button{all:unset;display:flex;align-items:center;justify-content:center;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;border-radius:6px;font-size:18px;gap:8px;cursor:pointer;box-sizing:border-box}.r-overlay-header .r-overlay-button:hover{opacity:1;background-color:#ffffff26}.r-overlay-header .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.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{position:relative;display:grid;place-items:center;border-radius:6px;overflow:hidden;flex-grow:1;background-color:#141414cc;animation:scale-up .5s cubic-bezier(.26,.86,.44,.985)}.r-overlay-spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;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);visibility:hidden;opacity:0}.r-overlay-preview .r-overlay-content iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.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{position:absolute;max-width:100%;max-height:100%;width:100%;height:100%;margin:0;object-fit:scale-down}.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{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.r-overlay-preview .r-overlay-error{font-size:18px;color:orange}.r-overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .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{max-width:560px;padding:20px 0;margin:auto;text-align:center;letter-spacing:normal}.r-overlay-help-content .title{font-size:20px;margin-top:0}.r-overlay-help .r-overlay-help-content table{border:1px solid #fff;border-collapse:collapse;font-size:16px;text-align:left}.r-overlay-help .r-overlay-help-content table td,.r-overlay-help .r-overlay-help-content table th{width:240px;padding:14px;border:1px solid #fff;vertical-align:middle}.r-overlay-help .r-overlay-help-content table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.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{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs.has-highlights.fragment{transition:all .2s ease}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.reveal .roll:hover span{background:#00000080;transform:translateZ(-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{position:absolute;top:15px;left:15px;z-index:30;font-size:32px;-webkit-tap-highlight-color:transparent}.reveal .jump-to-slide-input{background:0 0;padding:8px;font-size:inherit;color:currentColor;border:0}.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:0}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}.reveal-viewport.loading-scroll-mode{visibility:hidden}.reveal-viewport.reveal-scroll{margin:0 auto;overflow:auto;overflow-x:hidden;overflow-y:auto;z-index:1;--r-scrollbar-width:7px;--r-scrollbar-trigger-size:5px;--r-controls-spacing:8px}@media screen and (max-width:500px){.reveal-viewport.reveal-scroll{--r-scrollbar-width:3px;--r-scrollbar-trigger-size:3px}}.reveal-viewport.reveal-scroll .backgrounds,.reveal-viewport.reveal-scroll .controls,.reveal-viewport.reveal-scroll .playback,.reveal-viewport.reveal-scroll .progress,.reveal-viewport.reveal-scroll .slide-number,.reveal-viewport.reveal-scroll .speaker-notes{display:none!important}.reveal-viewport.reveal-scroll .pause-overlay,.reveal-viewport.reveal-scroll .r-overlay{position:fixed}.reveal-viewport.reveal-scroll .reveal{overflow:visible;touch-action:manipulation}.reveal-viewport.reveal-scroll .slides{position:static;pointer-events:initial;left:auto;top:auto;width:100%!important;margin:0;padding:0;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}.reveal-viewport.reveal-scroll .scroll-page{position:relative;width:100%;height:calc(var(--page-height) + var(--page-scroll-padding));z-index:1;overflow:visible}.reveal-viewport.reveal-scroll .scroll-page-sticky{position:sticky;height:var(--page-height);top:0}.reveal-viewport.reveal-scroll .scroll-page-content{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.reveal-viewport.reveal-scroll .scroll-page section{visibility:visible!important;display:block!important;position:absolute!important;width:var(--slide-width)!important;height:var(--slide-height)!important;top:50%!important;left:50%!important;opacity:1!important;transform:scale(var(--slide-scale)) translate(-50%,-50%)!important;transform-style:flat!important;transform-origin:0 0!important}.reveal-viewport.reveal-scroll .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important;visibility:visible;opacity:1;touch-action:manipulation}.reveal-viewport.reveal-scroll[data-scrollbar=auto]::-webkit-scrollbar,.reveal-viewport.reveal-scroll[data-scrollbar=true]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=auto],.reveal-viewport.reveal-scroll[data-scrollbar=true]{scrollbar-width:none}.reveal-viewport.has-dark-background,.reveal.has-dark-background{--r-overlay-element-bg-color:240,240,240;--r-overlay-element-fg-color:0,0,0}.reveal-viewport.has-light-background,.reveal.has-light-background{--r-overlay-element-bg-color:0,0,0;--r-overlay-element-fg-color:240,240,240}.reveal-viewport.reveal-scroll .scrollbar{position:sticky;top:50%;z-index:20;opacity:0;transition:all .3s ease}.reveal-viewport.reveal-scroll .scrollbar.visible,.reveal-viewport.reveal-scroll .scrollbar:hover{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-inner{position:absolute;width:var(--r-scrollbar-width);height:calc(var(--viewport-height) - var(--r-controls-spacing) * 2);right:var(--r-controls-spacing);top:0;transform:translateY(-50%);border-radius:var(--r-scrollbar-width);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-playhead{position:absolute;width:var(--r-scrollbar-width);height:var(--r-scrollbar-width);top:0;left:0;border-radius:var(--r-scrollbar-width);background-color:rgba(var(--r-overlay-element-bg-color),1);z-index:11;transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide{position:absolute;width:100%;background-color:rgba(var(--r-overlay-element-bg-color),.2);box-shadow:0 0 0 1px rgba(var(--r-overlay-element-fg-color),.1);border-radius:var(--r-scrollbar-width);transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:after{content:"";position:absolute;width:200%;height:100%;top:0;left:-50%;background:#0000;z-index:-1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:hover{background-color:rgba(var(--r-overlay-element-bg-color),.4)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-trigger{position:absolute;width:100%;transition:background-color .2s ease}.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:"";position:absolute;width:var(--r-scrollbar-trigger-size);height:var(--r-scrollbar-trigger-size);border-radius:20px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:rgba(var(--r-overlay-element-bg-color),1);transition:transform .2s ease,opacity .2s ease;opacity:.4}.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));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{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.reveal-print .nestedarrow,html.reveal-print .reveal .controls,html.reveal-print .reveal .playback,html.reveal-print .reveal .progress,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{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.reveal-print .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.reveal-print .reveal .slides .pdf-page:last-of-type{page-break-after:avoid}html.reveal-print .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.reveal-print .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.reveal-print .reveal img{box-shadow:none}html.reveal-print .reveal .backgrounds{display:none}html.reveal-print .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.reveal-print .reveal.show-notes{max-width:none;max-height:none}html.reveal-print .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.reveal-print .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.reveal-print .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px;visibility:visible}html.reveal-print .aria-status{display:none}@media print{html:not(.print-pdf){overflow:visible;width:auto;height:auto}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 .backgrounds,html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .reveal .state-background{display:none!important}html:not(.print-pdf) .reveal li,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td{font-size:20pt!important;color:#000}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{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}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-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;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{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition: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{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;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}}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-regular-C8xAf4ue.eot);src:url(/assets/source-sans-pro-regular-C8xAf4ue.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-regular-Du6DMqU5.woff) format("woff"),url(/assets/source-sans-pro-regular-DVYRbr7L.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-italic-BRELHCij.eot);src:url(/assets/source-sans-pro-italic-BRELHCij.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-italic-Cv9m8hC5.woff) format("woff"),url(/assets/source-sans-pro-italic-CRcsOvyS.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-semibold-DJkFd4Pg.eot);src:url(/assets/source-sans-pro-semibold-DJkFd4Pg.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-semibold-DwriEDPf.woff) format("woff"),url(/assets/source-sans-pro-semibold-J0UDcmCq.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-semibolditalic-DCTsihXp.eot);src:url(/assets/source-sans-pro-semibolditalic-DCTsihXp.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-semibolditalic-DSkHRpvW.woff) format("woff"),url(/assets/source-sans-pro-semibolditalic-BHQoOnJ8.ttf) format("truetype");font-weight:600;font-style:italic}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}:root{--r-background-color: #191919;--r-main-font: Source Sans Pro, Helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #fff;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, Helvetica, sans-serif;--r-heading-color: #fff;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-dark: rgb(19.8216494845, 155.4536082474, 248.7783505155);--r-link-color-hover: rgb(94.35, 187, 250.75);--r-selection-background-color: rgba(66, 175, 250, .75);--r-selection-color: #fff;--r-overlay-element-bg-color: 240, 240, 240;--r-overlay-element-fg-color: 0, 0, 0}.reveal-viewport{background:#191919;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:400;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:700}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:700}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:#ffffff0d;box-shadow:0 0 2px #0003}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0 5px 15px #00000026}.reveal code{font-family:var(--r-code-font);text-transform:none;-moz-tab-size:2;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:700}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px #00000026}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px #0000008c}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:#0003;color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}:root{--yarl__color_backdrop: var(--bg-dark);--yarl__color_button: var(--color-primary);--yarl__color_button_active: var(--color-secondary)}.lightbox-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-dark);z-index:100;padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom)}.lightbox-wrapper.with-aside{right:350px}.lightbox-close-button{position:absolute;bottom:calc(var(--spacing-lg) + var(--safe-area-bottom, 0px));right:calc(var(--spacing-lg) + var(--safe-area-right, 0px));background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-dark);border-radius:var(--radius-full);color:var(--text-secondary);font-size:1.75rem;cursor:pointer;z-index:101;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);padding:0;width:var(--touch-target-comfortable);height:var(--touch-target-comfortable)}.lightbox-close-button:hover{color:var(--text-primary);background:#ffffff26;transform:scale(1.05)}.lightbox-close-button:active{transform:scale(.95)}.lightbox-wrapper .yarl__root{background:transparent}.lightbox-wrapper .yarl__container{width:100%;height:100%}.lightbox-wrapper .yarl__button{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}@media (max-width: 1024px){.lightbox-wrapper.with-aside{right:0}}.drawing-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-dark);z-index:10000;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.drawing-editor{width:100%;height:100%;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.drawing-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);padding-top:calc(var(--spacing-sm) + var(--safe-area-top, 0px));background:var(--bg-dark-elevated);border-bottom:1px solid var(--border-dark);flex-shrink:0;gap:var(--spacing-md);flex-wrap:wrap}.toolbar-section{display:flex;align-items:center;gap:var(--spacing-sm)}.toolbar-left{flex:0 0 auto}.toolbar-center{flex:1;justify-content:center;flex-wrap:wrap;gap:var(--spacing-md)}.toolbar-right{flex:0 0 auto}.slide-info{color:var(--text-tertiary);font-size:.8rem;white-space:nowrap}.tool-group{display:flex;gap:4px;background:#ffffff0d;padding:4px;border-radius:var(--radius-md)}.toolbar-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 14px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:#ffffff14;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.toolbar-btn:hover:not(:disabled){background:#ffffff26}.toolbar-btn:active:not(:disabled){transform:scale(.95)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn.active{background:#3498db66;color:#fff}.toolbar-btn.danger:hover,.close-btn:hover{background:#e74c3c66}.save-btn{background:#2ecc7140;padding:10px 18px}.save-btn:hover{background:#2ecc7166}.color-picker{display:flex;gap:4px;padding:4px;background:#ffffff0d;border-radius:var(--radius-md)}.color-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.color-btn:hover{transform:scale(1.15)}.color-btn.active{border-color:#fff;transform:scale(1.1);box-shadow:0 0 12px #ffffff80}.brush-sizes{display:flex;gap:4px;padding:4px;background:#ffffff0d;border-radius:var(--radius-md);align-items:center}.size-btn{width:36px;height:36px;border-radius:var(--radius-md);border:none;background:#ffffff14;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.size-btn:hover{background:#ffffff26}.size-btn.active{background:#3498db66}.size-preview{border-radius:50%;transition:all var(--transition-fast)}.drawing-canvas-container{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);overflow:hidden;position:relative;touch-action:none;-webkit-overflow-scrolling:auto;background:var(--bg-dark)}.transform-container{will-change:transform;touch-action:none;transform-style:preserve-3d;backface-visibility:hidden}.canvas-stack{position:relative;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);overflow:hidden;touch-action:none}.zoom-controls{display:flex;align-items:center;gap:4px;border-left:1px solid var(--border-dark);padding-left:var(--spacing-sm);margin-left:4px}.zoom-level{color:var(--text-tertiary);font-size:.8rem;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.zoom-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-full);font-size:.8rem;z-index:10;white-space:nowrap}.drawing-canvas{display:block;touch-action:none;-webkit-touch-callout:none}.background-canvas{position:relative;z-index:1}.overlay-canvas{position:absolute;top:0;left:0;z-index:2;cursor:crosshair;touch-action:none}.loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--text-primary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-dark);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.drawing-toolbar{padding:.5rem;gap:.5rem}.toolbar-section{gap:.5rem}.toolbar-center{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.25rem}.toolbar-left,.toolbar-right{flex:1}.toolbar-right{justify-content:flex-end}.slide-info{display:none}.color-picker{flex-wrap:wrap;max-width:160px}.toolbar-btn{min-width:36px;min-height:36px;padding:.4rem .6rem}.save-btn span{display:none}.drawing-canvas-container{padding:10px}.zoom-controls{border-left:none;padding-left:0;margin-left:0}.zoom-level{min-width:40px;font-size:.75rem}}@media (pointer: coarse){.toolbar-btn{min-width:44px;min-height:44px}.color-btn{width:32px;height:32px}.size-btn{width:36px;height:36px}}.annotation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.annotation-canvas{pointer-events:none}.annotation-indicator{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:#2ecc71d9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;padding:6px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:4px;z-index:10;pointer-events:none;box-shadow:var(--shadow-md)}.annotation-indicator svg{width:12px;height:12px}.presentation-viewer{width:100vw;height:100vh;height:100dvh;position:relative;background:var(--bg-dark);display:flex;flex-direction:column}.viewer-header{position:fixed;top:var(--safe-area-top, 0);left:var(--safe-area-left, 0);right:var(--safe-area-right, 0);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);z-index:102;pointer-events:none;animation:slideDownFade .3s ease}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.viewer-header>*{pointer-events:auto}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.header-left{flex:0 0 auto}.header-center{flex:1;justify-content:center}.header-right{flex:0 0 auto}.header-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 16px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:#1e1e23d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;outline:none;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d}.header-btn:focus-visible{box-shadow:0 2px 8px #0000004d,0 0 0 2px #667eea80}.header-btn:hover{background:#2d2d32e6;border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 12px #0006,inset 0 1px #ffffff14}.header-btn:active{background:#323237f2;transform:translateY(0) scale(.98);box-shadow:0 1px 4px #0000004d}.header-btn svg{flex-shrink:0}.header-btn--icon{padding:10px;border-radius:var(--radius-md)}.header-btn--primary{background:#667eea33;border-color:#667eea4d}.header-btn--primary:hover{background:#667eea4d;border-color:#667eea80}.header-btn--accent{background:#3498db33;border-color:#3498db4d}.header-btn--accent:hover{background:#3498db4d;border-color:#3498db80}.header-btn--edit{background:#9b59b633;border-color:#9b59b64d}.header-btn--edit:hover{background:#9b59b64d;border-color:#9b59b680}.header-btn--edit.has-annotation{background:#2ecc7133;border-color:#2ecc714d}.header-btn--edit.has-annotation:hover{background:#2ecc714d;border-color:#2ecc7180}.hamburger-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:#1e1e23d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);outline:none;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d}.hamburger-button:focus-visible{box-shadow:0 2px 8px #0000004d,0 0 0 2px #667eea80}.hamburger-button:hover{background:#2d2d32e6;border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 12px #0006,inset 0 1px #ffffff14}.hamburger-button:active{background:#323237f2;transform:translateY(0) scale(.98);box-shadow:0 1px 4px #0000004d}.aside-toggle{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 16px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:linear-gradient(135deg,#e67e2240,#d3540040);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(230,126,34,.35);border-radius:var(--radius-lg);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);outline:none;box-shadow:0 2px 8px #e67e2233,inset 0 1px #ffffff1a}.aside-toggle:focus-visible{box-shadow:0 2px 8px #e67e224d,0 0 0 2px #e67e2280}.aside-toggle:hover{background:linear-gradient(135deg,#e67e2259,#d3540059);border-color:#e67e2280;transform:translateY(-1px);box-shadow:0 4px 16px #e67e224d,inset 0 1px #ffffff26}.aside-toggle:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #e67e2233}.bookmarks-view-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 16px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:linear-gradient(135deg,#667eea40,#764ba240);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(102,126,234,.35);border-radius:var(--radius-lg);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);outline:none;box-shadow:0 2px 8px #667eea33,inset 0 1px #ffffff1a}.bookmarks-view-button:focus-visible{box-shadow:0 2px 8px #667eea4d,0 0 0 2px #667eea80}.bookmarks-view-button:hover{background:linear-gradient(135deg,#667eea59,#764ba259);border-color:#667eea80;transform:translateY(-1px);box-shadow:0 4px 16px #667eea4d,inset 0 1px #ffffff26}.bookmarks-view-button:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #667eea33}.admin-view-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 16px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:linear-gradient(135deg,#ffa72640,#ff8f0040);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,167,38,.35);border-radius:var(--radius-lg);color:#ffa726;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);outline:none;box-shadow:0 2px 8px #ffa72633,inset 0 1px #ffffff1a}.admin-view-button:focus-visible{box-shadow:0 2px 8px #ffa7264d,0 0 0 2px #ffa72680}.admin-view-button:hover{background:linear-gradient(135deg,#ffa72659,#ff8f0059);border-color:#ffa72680;transform:translateY(-1px);box-shadow:0 4px 16px #ffa7264d,inset 0 1px #ffffff26}.admin-view-button:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #ffa72633}.edit-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 16px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:linear-gradient(135deg,#2ecc7140,#27ae6040);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(46,204,113,.35);border-radius:var(--radius-lg);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);position:relative;outline:none;box-shadow:0 2px 8px #2ecc7133,inset 0 1px #ffffff1a}.edit-button:focus-visible{box-shadow:0 2px 8px #2ecc714d,0 0 0 2px #2ecc7180}.edit-button:hover{background:linear-gradient(135deg,#2ecc7159,#27ae6059);border-color:#2ecc7180;transform:translateY(-1px);box-shadow:0 4px 16px #2ecc714d,inset 0 1px #ffffff26}.edit-button:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #2ecc7133}.edit-button.has-annotation{background:linear-gradient(135deg,#2ecc7166,#27ae6066);border-color:#2ecc7180;box-shadow:0 2px 12px #2ecc7159,inset 0 1px #ffffff26}.edit-button.has-annotation:hover{background:linear-gradient(135deg,#2ecc7180,#27ae6080);border-color:#2ecc7199;box-shadow:0 4px 20px #2ecc7166,inset 0 1px #fff3}.annotation-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--color-success);border-radius:50%;box-shadow:0 0 8px #2ecc7199;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.bookmark-controls{position:relative;display:flex;align-items:center;gap:var(--spacing-sm)}.bookmark-toggle{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 16px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:linear-gradient(135deg,#f1c40f33,#f39c1233);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(241,196,15,.3);border-radius:var(--radius-lg);color:#ffeaa7;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);outline:none;box-shadow:0 2px 8px #f1c40f26,inset 0 1px #ffffff1a}.bookmark-toggle:focus-visible{box-shadow:0 2px 8px #f1c40f40,0 0 0 2px #f1c40f80}.bookmark-toggle:hover{background:linear-gradient(135deg,#f1c40f4d,#f39c124d);border-color:#f1c40f80;color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #f1c40f40,inset 0 1px #ffffff26}.bookmark-toggle:active{transform:scale(.98);box-shadow:0 1px 4px #f1c40f33}.active-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tag-badge{display:inline-flex;align-items:center;padding:6px 12px;background:#667eea26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(102,126,234,.25);border-radius:var(--radius-full);color:#a8b5ff;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);text-transform:capitalize}.tag-badge:hover{background:#667eea40;border-color:#667eea66;color:#fff;transform:scale(1.05)}.tag-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#1e1e1ef2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-dark-strong);border-radius:var(--radius-lg);padding:var(--spacing-md);min-width:280px;box-shadow:var(--shadow-xl);z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tag-dropdown-header{font-size:.75rem;color:var(--text-tertiary);margin-bottom:var(--spacing-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tag-options{display:flex;flex-direction:column;gap:4px}.tag-option{width:100%;padding:12px 14px;background:transparent;color:var(--text-primary);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;font-size:.9rem;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm);min-height:var(--touch-target-min)}.tag-option:hover{background:#667eea1a;border-color:#667eea33}.tag-option-active{background:#667eea33;border-color:#667eea66;font-weight:600}.tag-icon{font-size:1.1rem;flex-shrink:0}.tag-name{flex:1;text-transform:capitalize}.tag-check{color:var(--color-success);font-weight:700;font-size:1.1rem}.tag-dropdown-divider{height:1px;background:var(--border-dark);margin:var(--spacing-sm) 0}.tag-dropdown-new{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.tag-input{flex:1;padding:12px 14px;background:#ffffff0d;border:1px solid var(--border-dark);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;transition:all var(--transition-fast);min-height:var(--touch-target-min)}.tag-input:focus{outline:none;border-color:var(--color-primary);background:#ffffff14}.tag-input::placeholder{color:var(--text-tertiary)}.tag-add-button{padding:12px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:600;transition:all var(--transition-fast);min-height:var(--touch-target-min)}.tag-add-button:hover:not(:disabled){background:var(--color-primary-dark)}.tag-add-button:disabled{opacity:.4;cursor:not-allowed}.nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:fadeIn .25s ease;touch-action:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(420px,85vw);background:var(--bg-dark-overlay);z-index:201;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideInLeft .3s cubic-bezier(.16,1,.3,1);color:var(--text-primary);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.nav-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top, 0px));background:var(--bg-dark-overlay);border-bottom:1px solid var(--border-dark);flex-shrink:0}.nav-sidebar-header h2{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin:0}.nav-close-button,.close-extras-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);background:#ffffff0d;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.nav-close-button:hover,.close-extras-btn:hover{background:#667eea26;color:var(--color-primary)}.nav-close-button:active,.close-extras-btn:active{transform:scale(.95)}.nav-sidebar-content{flex:1;overflow-y:auto;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom, 0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.nav-sidebar .toc-tree{padding-right:var(--spacing-xs)}.nav-sidebar .toc-field{margin-bottom:var(--spacing-sm)}.nav-sidebar .toc-field-header{padding:14px 16px;min-height:var(--touch-target-comfortable);background:#34495e99;color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.nav-sidebar .toc-field-header:hover{background:#34495ecc}.nav-sidebar .toc-field-header:active{transform:scale(.99)}.nav-sidebar .toc-arrow{font-size:.7rem;width:14px;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.nav-sidebar .toc-topics{margin-left:var(--spacing-lg);margin-top:var(--spacing-sm);border-left:2px solid var(--border-dark);padding-left:var(--spacing-sm)}.nav-sidebar .toc-topic{margin-bottom:var(--spacing-sm)}.nav-sidebar .toc-topic-header{padding:12px 16px;min-height:var(--touch-target-min);background:#ffffff08;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.nav-sidebar .toc-topic-header:hover{background:#ffffff0f;color:var(--text-primary)}.nav-sidebar .toc-subtopics{margin-left:var(--spacing-lg);margin-top:var(--spacing-xs);border-left:2px solid var(--border-dark);padding-left:var(--spacing-sm)}.nav-sidebar .toc-subtopic{padding:12px 16px;min-height:var(--touch-target-min);color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all var(--transition-fast);margin-bottom:4px;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.nav-sidebar .toc-subtopic:hover{background:var(--color-accent);color:#fff}.nav-sidebar .toc-subtopic-active{background:#34495e99;color:#fff;font-weight:600}.nav-sidebar .toc-subtopic-active:hover{background:#34495ecc}.nav-sidebar-content::-webkit-scrollbar{width:6px}.nav-sidebar-content::-webkit-scrollbar-track{background:transparent}.nav-sidebar-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.viewer-content{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;overflow:hidden}.reveal-container{flex:1;position:relative;overflow:hidden;touch-action:pan-y pinch-zoom;box-sizing:border-box;background:var(--bg-dark)}.reveal-container .reveal{width:100%;height:100%}.reveal-container .reveal .slides{top:calc(35px + var(--safe-area-top, 0px) / 2)!important;bottom:calc(40px + var(--safe-area-bottom, 0px) / 2)!important;height:auto!important}.extras-panel{width:340px;background:var(--bg-dark-overlay);border-left:1px solid var(--border-dark);display:flex;flex-direction:column;color:var(--text-primary);overflow-y:auto;position:relative;z-index:50;flex-shrink:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.extras-content{padding:0;display:flex;flex-direction:column;height:100%}.extras-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top, 0px));border-bottom:1px solid var(--border-dark);flex-shrink:0}.extras-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.extras-close-button{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);background:#ffffff0d;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.extras-close-button:hover{background:#667eea26;color:var(--color-primary)}.extras-sections{padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom, 0px));overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.extras-section{margin-bottom:var(--spacing-xl)}.extras-section h4{margin-bottom:var(--spacing-sm);font-size:.8rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.extras-hint{font-size:.8rem;color:var(--color-primary-light);margin-bottom:var(--spacing-md);font-style:italic}.extras-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.extra-item{background:var(--bg-dark-elevated);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-dark);transition:all var(--transition-fast)}.extra-item-clickable{cursor:pointer}.extra-item-clickable:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 16px #667eea33}.extra-item-clickable:active{transform:translateY(0) scale(.99)}.extra-item img{width:100%;height:auto;display:block}.extra-label{display:block;padding:var(--spacing-sm) var(--spacing-md);font-size:.8rem;color:var(--text-secondary);text-align:center;background:#0003}.no-extras{color:var(--text-tertiary);text-align:center;padding:var(--spacing-xl);font-style:italic}.extras-panel::-webkit-scrollbar,.extras-sections::-webkit-scrollbar{width:6px}.extras-panel::-webkit-scrollbar-track,.extras-sections::-webkit-scrollbar-track{background:transparent}.extras-panel::-webkit-scrollbar-thumb,.extras-sections::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.reveal .slides{text-align:center}.reveal .slides section section{display:flex;align-items:center;justify-content:center;padding:16px}.reveal .slides section section img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm)}.subslide-image{cursor:pointer;transition:all var(--transition-fast)}.subslide-image:hover{opacity:.95;box-shadow:0 0 0 2px var(--color-primary)}.subslide-image:active{opacity:.9}.slide-annotation-badge{position:absolute;top:12px;right:12px;background:#2ecc71e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:6px;z-index:15;pointer-events:none;box-shadow:var(--shadow-md)}.reveal .slides section.has-annotation{position:relative!important;overflow:visible}.reveal .slides section.has-annotation>img{position:relative;z-index:1}.reveal .controls{position:fixed!important;bottom:0!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:100%!important;transform:none!important;z-index:50;pointer-events:none;background:transparent!important;padding:0!important}.reveal .controls .controls-arrow{display:none}.reveal .controls .navigate-left,.reveal .controls .navigate-right{display:flex!important;position:fixed!important;top:50%!important;transform:translateY(-50%)!important;width:56px!important;height:80px!important;pointer-events:auto;background:#1e1e23b3!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--radius-lg)!important;align-items:center;justify-content:center;transition:all .2s ease!important;opacity:.7!important;box-shadow:0 4px 16px #0000004d}.reveal .controls .navigate-left{left:var(--spacing-md)!important;right:auto!important;border-top-left-radius:var(--radius-xl)!important;border-bottom-left-radius:var(--radius-xl)!important}.reveal .controls .navigate-right{right:var(--spacing-md)!important;left:auto!important;border-top-right-radius:var(--radius-xl)!important;border-bottom-right-radius:var(--radius-xl)!important}.reveal .controls .navigate-left:hover,.reveal .controls .navigate-right:hover{opacity:1!important;background:#2d2d32d9!important;border-color:#667eea66!important;box-shadow:0 6px 24px #0006,0 0 0 1px #667eea33}.reveal .controls .navigate-left:active,.reveal .controls .navigate-right:active{transform:translateY(-50%) scale(.96)!important;opacity:1!important}.reveal .controls .navigate-left.enabled,.reveal .controls .navigate-right.enabled{opacity:.85!important}.reveal .controls .navigate-left.enabled:hover,.reveal .controls .navigate-right.enabled:hover{opacity:1!important}.reveal .controls .navigate-left:before,.reveal .controls .navigate-right:before{content:"";display:block;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.9}.reveal .controls .navigate-left:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E")}.reveal .controls .navigate-right:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")}.reveal .controls .navigate-up{display:flex!important;position:fixed!important;top:calc(70px + var(--safe-area-top, 0px))!important;left:50%!important;bottom:auto!important;right:auto!important;transform:translate(-50%)!important;width:80px!important;height:48px!important;pointer-events:auto;background:#1e1e23cc!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12)!important;border-radius:var(--radius-xl)!important;align-items:center;justify-content:center;opacity:1!important;box-shadow:0 4px 16px #0006;z-index:150!important}.reveal .controls .navigate-up:hover{background:#2d2d32d9!important;border-color:#667eea66!important;box-shadow:0 6px 24px #0006,0 0 0 1px #667eea33}.reveal .controls .navigate-up:before{content:"";display:block;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 15l-6-6-6 6'/%3E%3C/svg%3E")}.reveal .controls .navigate-down{display:flex!important;position:fixed!important;bottom:calc(20px + var(--safe-area-bottom, 0px))!important;left:50%!important;top:auto!important;right:auto!important;transform:translate(-50%)!important;width:80px!important;height:48px!important;pointer-events:auto;background:#1e1e23cc!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12)!important;border-radius:var(--radius-xl)!important;align-items:center;justify-content:center;opacity:1!important;box-shadow:0 4px 16px #0006;z-index:150!important;transition:none!important;animation:none!important}.reveal .controls .navigate-down:hover{background:#2d2d32d9!important;border-color:#667eea66!important;box-shadow:0 6px 24px #0006,0 0 0 1px #667eea33}.reveal .controls .navigate-down:before{content:"";display:block;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.reveal .controls-bottom{position:fixed!important;bottom:calc(20px + var(--safe-area-bottom, 0px))!important;left:50%!important;transform:translate(-50%)!important;display:flex;gap:8px;pointer-events:auto;z-index:100}.reveal .progress{background:#ffffff14!important;height:4px!important;position:fixed!important;bottom:0!important;z-index:100;border-radius:2px 2px 0 0}.reveal .progress span{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary))!important;transition:width .3s ease!important}@media (min-width: 1024px){.viewer-header{padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-md)}.extras-panel{width:380px}}@media (min-width: 768px) and (max-width: 1024px){.viewer-header{padding:var(--spacing-sm) var(--spacing-md)}.extras-panel{width:320px}.reveal .controls .navigate-left,.reveal .controls .navigate-right{width:50px!important;height:70px!important}.reveal .controls .navigate-left:before,.reveal .controls .navigate-right:before{width:20px;height:20px}.reveal .controls .navigate-down{width:70px!important;height:44px!important}.reveal .controls .navigate-down:before{width:20px;height:20px}}@media (max-width: 768px){.viewer-header{padding:var(--spacing-xs) var(--spacing-sm);gap:6px}.hamburger-button span,.aside-toggle span,.bookmarks-view-button span,.admin-view-button span,.edit-button span,.bookmark-toggle span{display:none}.extras-panel{width:280px}.nav-sidebar{width:90vw}.tag-dropdown{min-width:260px;right:0;left:auto}.reveal .controls .navigate-left,.reveal .controls .navigate-right{width:44px!important;height:60px!important}.reveal .controls .navigate-left{left:var(--spacing-sm)!important}.reveal .controls .navigate-right{right:var(--spacing-sm)!important}.reveal .controls .navigate-left:before,.reveal .controls .navigate-right:before{width:18px;height:18px}.reveal .controls .navigate-down{width:60px!important;height:40px!important;bottom:calc(16px + var(--safe-area-bottom, 0px))!important}.reveal .controls .navigate-down:before{width:18px;height:18px}}@media (orientation: landscape) and (max-height: 600px){.viewer-header{padding:6px var(--spacing-md)}.reveal .controls .navigate-left,.reveal .controls .navigate-right{height:50px!important;width:40px!important}.reveal .controls .navigate-down{width:60px!important;height:36px!important;bottom:calc(10px + var(--safe-area-bottom, 0px))!important}}@media (max-width: 1024px){.extras-panel~.reveal .controls .navigate-right{display:none!important}}@media (display-mode: fullscreen){.viewer-header{opacity:.6;transition:opacity var(--transition-normal)}.viewer-header:hover{opacity:1}}button:focus,button:focus-visible{outline:none}.reveal .controls .navigate-left,.reveal .controls .navigate-right{transition:opacity .25s ease,background .2s ease,transform .15s ease,box-shadow .2s ease!important}.login-panel{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top, 0px));padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom, 0px))}.login-card{background:#fff;border-radius:var(--radius-xl);padding:var(--spacing-2xl);max-width:420px;width:100%;box-shadow:var(--shadow-xl)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header svg{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.login-header h2{margin:var(--spacing-sm) 0;color:var(--text-dark-primary);font-size:1.5rem;font-weight:600}.login-header p{color:var(--text-dark-secondary);font-size:.9rem}.google-signin-button{width:100%;padding:14px 20px;min-height:var(--touch-target-comfortable);border:1px solid #ddd;border-radius:var(--radius-md);background:#fff;display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.google-signin-button:hover:not(:disabled){background:#f8f9fa;border-color:var(--color-primary)}.google-signin-button:active:not(:disabled){transform:scale(.99)}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.divider{margin:var(--spacing-lg) 0;text-align:center;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#ddd}.divider:before{left:0}.divider:after{right:0}.divider span{background:#fff;padding:0 var(--spacing-sm);color:var(--text-dark-secondary);font-size:.875rem}.email-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.email-form input{padding:14px 16px;min-height:var(--touch-target-min);border:1px solid #ddd;border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-fast)}.email-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea26}.email-form input:disabled{background:#f5f5f5;cursor:not-allowed}.submit-button{padding:14px 20px;min-height:var(--touch-target-comfortable);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-sm)}.submit-button:hover:not(:disabled){background:var(--color-primary-dark)}.submit-button:active:not(:disabled){transform:scale(.99)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{padding:var(--spacing-sm) var(--spacing-md);background:#fee;color:#c33;border-radius:var(--radius-md);font-size:.875rem;text-align:center}.toggle-mode{margin-top:var(--spacing-lg);text-align:center}.toggle-mode button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.875rem;text-decoration:underline;min-height:var(--touch-target-min);padding:var(--spacing-sm)}.toggle-mode button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.login-card{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.login-header h2{font-size:1.35rem}}.pending-approval{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.pending-card{background:#242438;border-radius:16px;padding:48px;max-width:450px;text-align:center;box-shadow:0 8px 32px #0000004d}.pending-icon{color:#ffa726;margin-bottom:16px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.pending-card h2{color:#fff;margin:0 0 16px;font-size:1.5rem}.pending-card p{color:#b0b0c0;margin:0 0 12px;line-height:1.6}.pending-card p strong{color:#64b5f6}.pending-hint{font-size:.85rem;color:#808090!important;margin-top:24px!important;padding-top:16px;border-top:1px solid #3a3a4a}.signout-button{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:12px 24px;background:#3a3a4a;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.signout-button:hover{background:#4a4a5a}.admin-panel{min-height:100vh;background:#1a1a1a;color:#fff}.admin-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#242424;border-bottom:1px solid #333;position:sticky;top:0;z-index:100}.admin-header h1{display:flex;align-items:center;gap:8px;margin:0;font-size:1.5rem;flex:1}.admin-header .back-button,.admin-header .refresh-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#333;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .2s}.admin-header .back-button:hover,.admin-header .refresh-button:hover{background:#444}.admin-header .refresh-button:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-content{padding:24px;max-width:900px;margin:0 auto}.loading{text-align:center;padding:48px;color:#888}.users-section{margin-bottom:32px}.users-section h2{font-size:1.1rem;color:#aaa;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #333}.pending-section h2{color:#ffa726}.users-list{display:flex;flex-direction:column;gap:12px}.user-card{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#242424;border-radius:12px;border:1px solid #333;gap:16px}.user-card.pending{border-color:#ffa726;background:#2a2520}.user-card.admin{border-color:#64b5f6}.user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.user-avatar{width:48px;height:48px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{font-weight:600;display:flex;align-items:center;gap:8px}.admin-badge{font-size:.7rem;background:#64b5f6;color:#1a1a1a;padding:2px 8px;border-radius:4px;font-weight:600}.user-email{font-size:.9rem;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-date{font-size:.8rem;color:#666}.user-actions{display:flex;gap:8px;flex-shrink:0}.user-actions button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s}.user-actions button:disabled{opacity:.5;cursor:not-allowed}.approve-btn{background:#4caf50;color:#fff}.approve-btn:hover:not(:disabled){background:#43a047}.revoke-btn{background:#f44336;color:#fff}.revoke-btn:hover:not(:disabled){background:#e53935}.admin-toggle-btn{background:#333;color:#aaa}.admin-toggle-btn:hover:not(:disabled){background:#444;color:#fff}.admin-toggle-btn.is-admin{background:#1e3a5f;color:#64b5f6}@media (max-width: 600px){.user-card{flex-direction:column;align-items:stretch}.user-actions{justify-content:flex-end;margin-top:12px}}.tagged-slides-view{min-height:100vh;min-height:100dvh;background:var(--bg-dark);color:var(--text-primary);padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top, 0px));padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom, 0px))}.tagged-header{max-width:1400px;margin:0 auto var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.tagged-header h1{display:flex;align-items:center;gap:var(--spacing-md);margin:0;font-size:1.5rem;font-weight:600}.tag-filter{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;flex:1;justify-content:flex-end}.filter-button{padding:10px 18px;min-height:var(--touch-target-min);background:var(--bg-dark-overlay);color:var(--text-primary);border:1px solid var(--border-dark);border-radius:var(--radius-full);cursor:pointer;font-size:.875rem;font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.filter-button:hover{background:var(--bg-dark-surface);border-color:var(--border-dark-strong)}.filter-button:active{transform:scale(.98)}.filter-button.active{background:var(--color-primary);border-color:var(--color-primary)}.back-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 18px;min-height:var(--touch-target-min);background:var(--bg-dark-overlay);color:var(--text-primary);border:1px solid var(--border-dark);border-radius:var(--radius-lg);cursor:pointer;font-size:.9rem;font-weight:500;transition:all var(--transition-fast)}.back-button:hover{background:var(--bg-dark-surface);border-color:var(--border-dark-strong)}.back-button:active{transform:scale(.98)}.tag-count{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.tagged-slides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);max-width:1400px;margin:0 auto}.tagged-slide-card{background:var(--bg-dark-overlay);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-dark)}.tagged-slide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.tagged-slide-card:active{transform:translateY(-2px) scale(.99)}.slide-thumbnail{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-dark);display:flex;align-items:center;justify-content:center}.slide-thumbnail img{width:100%;height:100%;object-fit:contain}.slide-info{padding:var(--spacing-md)}.slide-breadcrumb{font-size:.8rem;color:var(--text-tertiary);margin-bottom:var(--spacing-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-number{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.slide-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--spacing-sm)}.slide-tag{background:#667eea26;color:#a8b5ff;padding:5px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid rgba(102,126,234,.25)}.loading-message,.empty-message{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);max-width:500px;margin:0 auto}.loading-message{font-size:1rem;color:var(--text-secondary)}.empty-message{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.empty-message svg{color:var(--text-tertiary)}.empty-message p{margin:0;font-size:1.1rem}.empty-hint{color:var(--text-tertiary);font-size:.9rem!important}@media (min-width: 1024px){.tagged-slides-view{padding:var(--spacing-xl);padding-top:calc(var(--spacing-xl) + var(--safe-area-top, 0px))}.tagged-header h1{font-size:1.75rem}.tagged-slides-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-xl)}}@media (max-width: 768px){.tagged-slides-view{padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + var(--safe-area-top, 0px))}.tagged-header{gap:var(--spacing-md)}.tagged-header h1{font-size:1.25rem}.tagged-header h1 span,.back-button span{display:none}.tagged-slides-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-md)}.filter-button{padding:8px 14px;font-size:.8rem}}.app{width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg-dark);color:var(--text-primary);position:relative;overflow:hidden}.app-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;background:var(--bg-dark);color:var(--text-primary)}.app-loading:after{content:"";width:32px;height:32px;border:2px solid var(--border-dark-strong);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-primary: #667eea;--color-primary-dark: #5568d3;--color-primary-light: #7f8ff5;--color-secondary: #764ba2;--color-accent: #3498db;--color-success: #2ecc71;--color-warning: #f39c12;--color-danger: #e74c3c;--bg-dark: #0f0f0f;--bg-dark-elevated: #1a1a1a;--bg-dark-surface: #242424;--bg-dark-overlay: #2a2a2a;--border-dark: rgba(255, 255, 255, .08);--border-dark-strong: rgba(255, 255, 255, .15);--bg-light: #f8f9fa;--bg-light-elevated: #ffffff;--bg-light-surface: #f0f1f3;--border-light: rgba(0, 0, 0, .08);--border-light-strong: rgba(0, 0, 0, .12);--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--text-dark-primary: rgba(0, 0, 0, .87);--text-dark-secondary: rgba(0, 0, 0, .6);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .25);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .3);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--header-height: 56px}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden;line-height:1.5;overscroll-behavior-y:none}#root{width:100vw;height:100vh;height:100dvh}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}:focus-visible{outline:none;box-shadow:0 0 0 2px #667eea80}:focus:not(:focus-visible){outline:none}button:focus-visible{outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
