.banner-title{text-shadow:2px 2px 4px rgba(0,0,0,.7);animation:fadeInUp 1s ease-out;font-weight:700}.banner-subtitle{text-shadow:1px 1px 2px rgba(0,0,0,.6);animation:fadeInUp 1s ease-out .3s both;min-height:1.5em;line-height:1.2}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}body.no-banner-mode .absolute.w-full.z-30{top:5.5rem!important}body.no-banner-mode #toc-inner-wrapper{top:5.5rem!important;height:calc(100vh - 8rem)!important;max-height:calc(100vh - 8rem)!important}@media(max-height:860px){#toc-inner-wrapper{height:calc(100vh - 5.5rem)!important;max-height:calc(100vh - 5.5rem)!important}body.no-banner-mode #toc-inner-wrapper{height:calc(100vh - 6.5rem)!important;max-height:calc(100vh - 6.5rem)!important}}body.wallpaper-transparent #toc-inner-wrapper:has(table-of-contents[data-loaded=true]){background:var(--card-bg-transparent)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border-radius:var(--radius-large);padding:.5rem;box-shadow:var(--shadow-lg)}@media(width>=1280px){body.enable-banner .absolute.w-full.z-30{top:35vh!important}}@media(width<768px){.mobile-no-sidebar{display:block!important;width:100%!important}.mobile-no-sidebar main{width:100%!important;max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important}.mobile-no-sidebar #content-wrapper{width:100%!important;max-width:100%!important;margin:0!important}.mobile-both-sidebar{grid-template-columns:1fr!important;padding-left:.5rem!important;padding-right:.5rem!important}.mobile-both-sidebar main{grid-column:1 / -1!important;width:100%!important;margin:0 auto!important}.mobile-both-sidebar .footer{grid-column:1 / -1!important}}@media(width<480px){body.enable-banner #banner-wrapper:not(.mobile-hide-banner){height:max(70vh,450px)!important;min-height:450px;max-height:none;top:0!important}body.enable-banner .absolute.w-full.z-30:not(.mobile-main-no-banner){top:max(70vh,450px)!important;min-height:calc(100vh - max(70vh,450px))!important}.banner-text-overlay{align-items:center!important;justify-content:center!important;padding:1rem!important;text-align:center!important}.banner-text-overlay>div{margin-bottom:0!important;width:95%!important;text-align:center!important}.banner-title{font-size:3.2rem!important;line-height:1.1!important;margin-bottom:.5rem!important;text-shadow:2px 2px 8px rgba(0,0,0,.8)!important}.banner-subtitle{font-size:1rem!important;line-height:1.3!important;text-shadow:1px 1px 4px rgba(0,0,0,.7)!important}}@media(480px<=width<768px){body.enable-banner #banner-wrapper:not(.mobile-hide-banner){height:max(75vh,500px)!important;min-height:500px;max-height:none;top:0!important}body.enable-banner .absolute.w-full.z-30:not(.mobile-main-no-banner){top:max(75vh,500px)!important;min-height:calc(100vh - max(75vh,500px))!important}.banner-text-overlay{align-items:center!important;justify-content:center!important;padding:1.5rem!important;text-align:center!important}.banner-text-overlay>div{margin-bottom:0!important;width:90%!important;text-align:center!important}.banner-title{font-size:3.8rem!important;line-height:1.1!important;margin-bottom:.75rem!important;text-shadow:2px 2px 8px rgba(0,0,0,.8)!important}.banner-subtitle{font-size:1.125rem!important;line-height:1.4!important;text-shadow:1px 1px 4px rgba(0,0,0,.7)!important}}@media(768px<=width<1280px){body.enable-banner #banner-wrapper:not(.mobile-hide-banner){height:max(70vh,500px)!important;min-height:500px;top:0!important}body.enable-banner .absolute.w-full.z-30:not(.mobile-main-no-banner){top:max(70vh,500px)!important;min-height:calc(100vh - max(70vh,500px))!important}.banner-text-overlay{align-items:center!important;justify-content:center!important;padding:2rem!important;text-align:center!important}.banner-text-overlay>div{margin-bottom:0!important;width:85%!important;text-align:center!important}.banner-title{font-size:4rem!important;line-height:1.1!important;margin-bottom:1rem!important;text-shadow:2px 2px 8px rgba(0,0,0,.8)!important}.banner-subtitle{font-size:1.5rem!important;line-height:1.4!important;text-shadow:1px 1px 4px rgba(0,0,0,.7)!important}.mobile-both-sidebar{padding-left:1rem!important;padding-right:1rem!important}.mobile-both-sidebar main{width:100%!important;margin:0 auto!important}.mobile-both-sidebar .footer{grid-column:1 / -1!important}}.banner-scroll-visual{position:absolute;inset:-10px;transform:translate3d(0,var(--banner-scroll-y, 0),0);will-change:transform}.banner-ambient{position:absolute;inset:0;z-index:9;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 20% 32%,rgba(255,225,205,.09),transparent 34%),linear-gradient(115deg,rgba(117,96,181,.06),transparent 42%,rgba(246,213,190,.07));animation:bannerAmbient 14s ease-in-out infinite alternate}.banner-ambient:after{content:"";position:absolute;inset:-20% auto -20% -35%;width:28%;opacity:0;transform:skew(-16deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent);animation:bannerLightSweep 13s ease-in-out infinite}@keyframes bannerAmbient{to{opacity:.72}}@keyframes bannerLightSweep{0%,64%{left:-35%;opacity:0}72%{opacity:.5}88%,to{left:112%;opacity:0}}.banner-image-layer{overflow:hidden;opacity:1;transform:scale(1.015) translate3d(-.35%,0,0);transition:opacity var(--banner-transition-ms, 2.4s) cubic-bezier(.4,0,.2,1),clip-path var(--banner-transition-ms, 2.4s) cubic-bezier(.22,1,.36,1),transform 14s ease-out;will-change:opacity,transform,clip-path}.banner-image-layer.banner-pan-b{transform:scale(1.015) translate3d(.35%,0,0)}.banner-image-enter{opacity:0;clip-path:inset(0 4% 0 4%);transform:scale(1.025) translate3d(.5%,0,0)}.banner-image-enter.banner-pan-b{transform:scale(1.025) translate3d(-.5%,0,0)}.banner-image-enter.banner-image-visible{opacity:1;clip-path:inset(0 0 0 0);transform:scale(1.015) translateZ(0)}.banner-image-leaving{opacity:0;transform:scale(1.01) translate3d(0,-.25%,0)}.banner-transition-crossfade .banner-image-layer{transform:none;transition:opacity var(--banner-transition-ms, 2.4s) ease-in-out;will-change:opacity}.banner-transition-crossfade .banner-image-enter,.banner-transition-crossfade .banner-image-enter.banner-pan-b,.banner-transition-crossfade .banner-image-enter.banner-image-visible,.banner-transition-crossfade .banner-image-leaving{clip-path:none;transform:none}.banner-transition-zoom-fade .banner-image-layer{transform:scale(1.04);transition:opacity var(--banner-transition-ms, 2.4s) cubic-bezier(.4,0,.2,1),transform var(--banner-transition-ms, 2.4s) cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.banner-transition-zoom-fade .banner-image-enter,.banner-transition-zoom-fade .banner-image-enter.banner-pan-b,.banner-transition-zoom-fade .banner-image-enter.banner-image-visible,.banner-transition-zoom-fade .banner-image-leaving{clip-path:none}.banner-transition-zoom-fade .banner-image-enter{opacity:0;transform:scale(1.12)}.banner-transition-zoom-fade .banner-image-enter.banner-image-visible{opacity:1;transform:scale(1.04)}.banner-transition-zoom-fade .banner-image-leaving{opacity:0;transform:scale(1)}.banner-image-layer img,#banner img{object-position:center center!important;pointer-events:none;-webkit-user-drag:none;user-drag:none}#banner-carousel{overflow:hidden!important}.banner-page-blend{height:clamp(6rem,16vh,12rem);background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--page-bg) 10%,transparent) 24%,color-mix(in srgb,var(--page-bg) 38%,transparent) 52%,color-mix(in srgb,var(--page-bg) 76%,transparent) 78%,var(--page-bg) 100%)}@media(width>=1280px){.banner-text-overlay{align-items:center!important;justify-content:center!important;padding:2rem!important;text-align:center!important}.banner-text-overlay>div{margin-bottom:0!important;width:75%!important;text-align:center!important}}html[data-banner-title-enabled=false] .banner-text-overlay,html[data-waves-enabled=false] #header-waves{display:none!important}html.is-page-transitioning #header-waves{contain:layout style paint}@media(width>=1280px){body.enable-banner.fullscreen-banner #top-row{position:absolute!important;top:0!important;left:0!important;right:0!important;height:100vh!important;overflow:visible!important;transition:none!important}body.enable-banner.fullscreen-banner #banner-wrapper{position:relative!important;height:100vh!important;min-height:100vh!important;max-height:none!important;top:0!important;transform:none!important;overflow:hidden!important}body.enable-banner.fullscreen-banner #banner{height:100vh!important;min-height:100vh!important;transform:none!important}body.enable-banner.fullscreen-banner .absolute.w-full.z-30{position:relative!important;top:0!important;margin-top:1rem!important}body.enable-banner.fullscreen-banner #main-grid{transform:translateY(0)!important}}@media(width<1280px){body.enable-banner.fullscreen-banner #top-row{height:0!important;overflow:visible!important;transition:none!important}body.enable-banner.fullscreen-banner #banner-wrapper:not(.mobile-hide-banner){position:relative!important;height:100vh!important;min-height:100vh!important;max-height:none;top:0!important;transform:none!important}body.enable-banner.fullscreen-banner .absolute.w-full.z-30:not(.mobile-main-no-banner){position:relative!important;top:0!important;margin-top:0!important;min-height:0!important}}html.is-page-transitioning .banner-text-overlay{display:none!important}@media(width<1280px){.onload-animation-fade-in{animation:mobile-fade-in .8s ease-out forwards!important}}@keyframes mobile-fade-in{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media(width<1280px){#banner-wrapper{transition:transform .5s cubic-bezier(.25,.46,.45,.94),opacity .3s ease-out;transform-origin:top center;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0)}.mobile-hide-banner{transform:translateY(-100%) translateZ(0)!important;opacity:0!important;pointer-events:none!important;transition:transform .3s ease-in,opacity .2s ease-in!important}.absolute.w-full.z-30{transition:top .4s cubic-bezier(.25,.46,.45,.94) .1s;will-change:top}.absolute.w-full.z-30.mobile-main-no-banner{top:5.5rem!important;min-height:calc(100vh - 5.5rem)!important;transition:top .3s cubic-bezier(.25,.46,.45,.94) .2s!important}}@media(width<1280px){.banner-container{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform,opacity;contain:layout style paint;backface-visibility:hidden;-webkit-backface-visibility:hidden}.banner-image-layer{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform,opacity;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.banner-text-overlay{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;contain:layout style}#banner-carousel img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}}.no-banner-layout{top:5.5rem!important;min-height:calc(100vh - 5.5rem)!important}.right-sidebar-container.hidden-in-grid-mode{display:none!important}@media(768px<=width<1280px){#main-grid[data-layout-mode=grid]{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important}#main-grid[data-layout-mode=grid] #swup-container{grid-column:1 / 2;grid-row:1 / 2}#main-grid[data-layout-mode=grid] #sidebar{grid-column:1 / 2!important;grid-row:2 / 3!important;width:100%!important;max-width:none!important;margin-top:1.5rem!important;margin-bottom:1.5rem!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:1rem!important}#main-grid[data-layout-mode=grid] #sidebar>div,#main-grid[data-layout-mode=grid] #sidebar #sidebar-sticky,#main-grid[data-layout-mode=grid] #sidebar .sidebar-content.lg\:hidden{display:contents!important;margin:0!important;padding:0!important;width:auto!important}#main-grid[data-layout-mode=grid] #sidebar .sidebar-content>*{width:calc(25% - .75rem)!important;flex:0 0 calc(25% - .75rem)!important;margin-top:0!important;margin-bottom:0!important}#main-grid[data-layout-mode=grid] #sidebar widget-layout[data-id=announcement] .flex.items-center.justify-between>div:first-child{width:100%!important;flex:1!important}#main-grid[data-layout-mode=grid] #sidebar widget-layout[data-id=announcement] a{display:block!important;width:100%!important;text-align:center!important}#main-grid[data-layout-mode=grid] #sidebar widget-layout[data-id=announcement] button[onclick="closeAnnouncement()"]{display:none!important}}@media(width>=1280px){#main-grid[data-layout-mode=grid]{grid-template-columns:17.5rem 1fr!important}#main-grid[data-layout-mode=grid] #swup-container{grid-column:2 / 3}}@media(width<1280px){.absolute.w-full.z-30.no-banner-layout{top:5.5rem!important;min-height:calc(100vh - 5.5rem)!important;transition:none!important}}@media(width<480px){.absolute.w-full.z-30.no-banner-layout{top:5.5rem!important;min-height:calc(100vh - 5.5rem)!important;transition:none!important}}@media(768px<=width<1280px){.absolute.w-full.z-30.no-banner-layout{top:5.5rem!important;min-height:calc(100vh - 5.5rem)!important;transition:none!important}}@media(width<1280px)and (orientation:landscape){#banner-wrapper:not(.mobile-hide-banner){top:0!important;height:60vh!important}.absolute.w-full.z-30:not(.mobile-main-no-banner){top:60vh!important;min-height:40vh!important}.banner-container{height:60vh;min-height:300px}.banner-text-overlay{padding:1rem 1.5rem;align-items:center!important;justify-content:center!important;text-align:center!important}.banner-title{font-size:2.2rem!important;line-height:1.3}.banner-subtitle{font-size:.9rem;margin-top:.5rem}}@media(width<1280px)and (prefers-color-scheme:dark){.banner-text-overlay{background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 50%,transparent 100%)}.banner-title{text-shadow:2px 2px 8px rgba(0,0,0,.8)}.banner-subtitle{text-shadow:1px 1px 4px rgba(0,0,0,.7)}}@media(max-height:500px){#banner-wrapper{height:85vh!important;min-height:350px!important}.banner-text-overlay{padding:1rem!important;align-items:center!important;justify-content:center!important;text-align:center!important}.banner-title{font-size:2.8rem!important;line-height:1.1!important;margin-bottom:.5rem!important}.banner-subtitle{font-size:.9rem!important;line-height:1.2!important}}@media(min-height:501px)and (max-height:600px){#banner-wrapper{height:80vh!important;min-height:400px!important}.banner-text-overlay{padding:1.5rem!important;align-items:center!important;justify-content:center!important;text-align:center!important}.banner-title{font-size:3.2rem!important;line-height:1.1!important;margin-bottom:.75rem!important}.banner-subtitle{font-size:1rem!important;line-height:1.3!important}}@media(min-height:601px)and (max-height:700px){#banner-wrapper{height:75vh!important;min-height:450px!important}.banner-text-overlay{padding:2rem!important;align-items:center!important;justify-content:center!important;text-align:center!important}.banner-title{font-size:3.8rem!important;line-height:1.1!important;margin-bottom:1rem!important}.banner-subtitle{font-size:1.125rem!important;line-height:1.4!important}}@media(orientation:landscape)and (max-height:500px){#banner-wrapper{height:90vh!important;min-height:300px!important}.banner-text-overlay{padding:1rem 2rem!important;align-items:center!important;justify-content:center!important;text-align:center!important}.banner-title{font-size:2.8rem!important;line-height:1.1!important;margin-bottom:.5rem!important}.banner-subtitle{font-size:1rem!important;line-height:1.2!important}}.banner-page-overlay{align-items:center;justify-content:center;will-change:opacity,transform,filter}.banner-page-copy{position:relative;width:min(88%,64rem);isolation:isolate}.banner-page-overlay .page-overlay-title{will-change:opacity,transform,filter;font-family:inherit;line-height:1.18;text-wrap:balance;text-shadow:0 1px 2px rgba(0,0,0,.95),0 3px 12px rgba(0,0,0,.78),0 10px 30px rgba(0,0,0,.48)}.banner-page-overlay .page-overlay-meta{color:#fffffff0;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.98),0 2px 9px rgba(0,0,0,.82)}.banner-page-overlay .page-overlay-title.anim-in{animation:overlayTitleIn .7s cubic-bezier(.22,1,.36,1) .1s both}.banner-page-overlay .page-overlay-meta.anim-in{animation:overlayMetaIn .6s cubic-bezier(.22,1,.36,1) .3s both}@keyframes overlayTitleIn{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes overlayMetaIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}html.is-page-transitioning .banner-page-overlay{opacity:0!important;transform:none!important;filter:none!important;transition:none!important}.waves{overflow:visible;z-index:5;transform:translateZ(0);will-change:transform;contain:none}.waves svg{width:100%;height:100%;display:block;transform:translateZ(0);backface-visibility:hidden}#header-waves{isolation:isolate;contain:none;margin-bottom:-1px}.theme-changing #header-waves,.theme-changing #header-waves svg,.theme-changing #header-waves use{will-change:auto;transform:translateZ(0);backface-visibility:hidden}@media(width<1280px){#header-waves{overflow:visible;z-index:5}.mobile-hide-banner #header-waves{display:none!important}.waves svg{min-height:60px}.waves{bottom:-1px!important;position:absolute!important}}@media(width<480px){.waves{height:8vh!important;min-height:60px!important;max-height:80px!important}}@media(480px<=width<768px){.waves{height:10vh!important;min-height:70px!important;max-height:100px!important}}@media(768px<=width<1280px){.waves{height:12vh!important;min-height:80px!important;max-height:120px!important}}@media(width>=1280px){.waves{height:15vh!important;min-height:80px!important;max-height:150px!important}}@media(width<360px){.waves{height:6vh!important;min-height:50px!important;max-height:70px!important}}@media(max-height:500px){.waves{height:5vh!important;min-height:40px!important;max-height:50px!important}}@media(min-height:501px)and (max-height:600px){.waves{height:6vh!important;min-height:50px!important;max-height:60px!important}}@media(min-height:601px)and (max-height:700px){.waves{height:8vh!important;min-height:60px!important;max-height:80px!important}}@media(orientation:landscape)and (max-height:500px){.waves{height:4vh!important;min-height:30px!important;max-height:40px!important}}@media(prefers-reduced-motion:reduce){.banner-scroll-visual,.banner-ambient,.banner-ambient:after,.banner-image-layer,.banner-image-enter,.banner-image-leaving,.banner-title,.banner-subtitle,.banner-page-overlay .page-overlay-title,.banner-page-overlay .page-overlay-meta{animation:none!important;transition:none!important;transform:none!important;clip-path:none!important;will-change:auto!important}}
