.mapf-demo:where(.astro-ahbksl7i){aspect-ratio:4;background:#101012;min-width:0;min-height:0;position:relative}.mapf-video:where(.astro-ahbksl7i){-o-object-fit:cover;object-fit:cover;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.mapf-toggle:where(.astro-ahbksl7i){background:rgb(var(--color-card));width:44px;height:44px;color:rgb(var(--color-text-base));border-radius:12px;place-items:center;display:grid;position:absolute;bottom:12px;right:12px}.mapf-toggle:where(.astro-ahbksl7i)[hidden]{display:none}.overview-cards:where(.astro-gv4hhbxb){gap:var(--bento-gap);display:grid;container-type:inline-size}.intro-row:where(.astro-gv4hhbxb){gap:var(--bento-gap);display:grid}.intro-copy:where(.astro-gv4hhbxb){padding:var(--hero-content-inset)}.intro-media:where(.astro-gv4hhbxb){min-width:0;padding:0;overflow:hidden}@container (width>=760px){.intro-row:where(.astro-gv4hhbxb){grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.intro-media:where(.astro-gv4hhbxb){position:relative}.intro-media:where(.astro-gv4hhbxb) .mapf-demo{aspect-ratio:auto;position:absolute;inset:0}}.prose:where(.astro-gv4hhbxb)>:first-child:where(.astro-gv4hhbxb){margin-top:0}.prose:where(.astro-gv4hhbxb)>:last-child:where(.astro-gv4hhbxb){margin-bottom:0}.programme:where(.astro-p7qzlmkw){grid-template-columns:calc(7ch + 2*var(--hero-content-inset))minmax(0,1fr);gap:var(--bento-gap);align-items:stretch;display:grid}.date-column:where(.astro-p7qzlmkw){padding:var(--hero-content-inset)}.date-label:where(.astro-p7qzlmkw){position:sticky;top:24px}.programme-events:where(.astro-p7qzlmkw){gap:var(--bento-gap);display:grid}.programme-row:where(.astro-p7qzlmkw){gap:var(--bento-gap);grid-template-columns:max-content minmax(0,1fr);align-items:stretch;display:grid}.time-card:where(.astro-p7qzlmkw){padding:var(--hero-content-inset);text-align:center}.time-label:where(.astro-p7qzlmkw){display:block;position:sticky;top:24px}code:where(.astro-p7qzlmkw){white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.875rem}.programme-event:where(.astro-p7qzlmkw){min-width:0;padding:0}.programme-event:where(.astro-p7qzlmkw).with-cover{background-color:color-mix(in srgb,rgb(var(--color-card))88%,var(--cover-tint))}.programme-event:where(.astro-p7qzlmkw) .programme-cover{border-radius:16px 16px 8px 8px}.programme-copy:where(.astro-p7qzlmkw){padding:var(--hero-content-inset)}.programme-enter:where(.astro-p7qzlmkw){animation:.55s cubic-bezier(.22,1,.36,1) enter-fade-vertical}@media (max-width:859px){.programme:where(.astro-p7qzlmkw){grid-template-columns:1fr}.date-label:where(.astro-p7qzlmkw){position:static}}@media (max-width:640px){.programme-event:where(.astro-p7qzlmkw) .programme-cover{background-position:50%!important}.programme-row:where(.astro-p7qzlmkw){gap:var(--bento-gap);grid-template-columns:1fr}.time-card:where(.astro-p7qzlmkw){justify-self:start}.time-label:where(.astro-p7qzlmkw){position:static}}.schedule-page:where(.astro-523ehcgw){scroll-margin-top:var(--page-inset);gap:var(--bento-gap);grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:start;padding:0;display:grid}.schedule-introduction:where(.astro-523ehcgw){gap:var(--bento-gap);display:grid;position:sticky;top:24px}.intro-card:where(.astro-523ehcgw){padding:var(--hero-content-inset)}p:where(.astro-523ehcgw){line-height:1.7}.programme-column:where(.astro-523ehcgw){min-width:0;padding:0}@media (max-width:999px){.schedule-page:where(.astro-523ehcgw){grid-template-columns:1fr}.schedule-introduction:where(.astro-523ehcgw){position:static}}.person-card:where(.astro-uaw6cg4a){height:100%}.avatar:where(.astro-uaw6cg4a){background-color:rgba(var(--color-accent),.12);width:42px;height:42px;color:rgb(var(--color-accent));background-position:50%;background-size:cover;border-radius:50%;flex-shrink:0;place-items:center;font-size:.875rem;font-weight:500;display:grid}.people-grid:where(.astro-527semvk){gap:var(--bento-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}li:where(.astro-527semvk){min-width:0}@container (width<=839px){.people-grid:where(.astro-527semvk){grid-template-columns:1fr}}.tutorial-section:where(.astro-tuhq5gtv){gap:var(--bento-gap);scroll-margin-top:var(--page-inset);grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:stretch;padding:0;display:grid}.bento-title-content:where(.astro-tuhq5gtv) section{padding:0}.bento-introduction:where(.astro-tuhq5gtv),.bento-content:where(.astro-tuhq5gtv){gap:var(--bento-gap);min-width:0;display:grid}.bento-introduction:where(.astro-tuhq5gtv){align-self:stretch;position:sticky;top:24px}.bento-title-card:where(.astro-tuhq5gtv){flex-direction:column;flex:1;display:flex}.bento-title-content:where(.astro-tuhq5gtv){margin-top:auto;position:sticky;bottom:40px}.bento-content:where(.astro-tuhq5gtv){align-content:stretch;container-type:inline-size}.tutorial-section:where(.astro-tuhq5gtv) .surface-panel{padding:var(--hero-content-inset)}.tutorial-section:where(.astro-tuhq5gtv) p{line-height:1.7}@media (max-width:999px){.tutorial-section:where(.astro-tuhq5gtv){grid-template-columns:1fr}.bento-introduction:where(.astro-tuhq5gtv){height:auto;position:static}.bento-title-card:where(.astro-tuhq5gtv){min-height:auto}.bento-title-content:where(.astro-tuhq5gtv){position:static}}.resource-grid:where(.astro-j34cvo7q),.support-grid:where(.astro-j34cvo7q){gap:var(--bento-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.resource-card:where(.astro-j34cvo7q){flex-direction:column;display:flex}.resource-status:where(.astro-j34cvo7q){margin-top:auto;padding-top:8px}@media (max-width:640px){.resource-grid:where(.astro-j34cvo7q),.support-grid:where(.astro-j34cvo7q){grid-template-columns:1fr}}.hero-still:where(.astro-autsfwhz),.hero-video:where(.astro-autsfwhz),.hero-grain:where(.astro-autsfwhz){-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;border-radius:inherit;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-still:where(.astro-autsfwhz){z-index:-4}.hero-video:where(.astro-autsfwhz){z-index:-3;opacity:0;transition:opacity .6s ease-out}.hero-video:where(.astro-autsfwhz)[data-ready=true]{opacity:1}.hero-grain:where(.astro-autsfwhz){z-index:-2;opacity:0;mix-blend-mode:soft-light;transition:opacity .6s ease-out}.hero-grain:where(.astro-autsfwhz)[data-ready=true]{opacity:var(--hero-grain-opacity,.5)}.hero-grain:where(.astro-autsfwhz)[data-grain-state=unavailable]{opacity:0;transition:none}.hero-video-toggle:where(.astro-gkdkwx4j){top:var(--hero-content-inset);right:var(--hero-content-inset);z-index:1;background:rgba(var(--color-card),.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:44px;height:44px;color:rgb(var(--color-text-base));border-radius:12px;justify-content:center;align-items:center;transition:background-color .16s ease-out;display:flex;position:absolute}.hero-video-toggle:where(.astro-gkdkwx4j):hover{background:rgba(var(--color-card),.9)}.hero-video-toggle:where(.astro-gkdkwx4j)[hidden]{display:none}@media (min-width:920px){.hero-video-toggle:where(.astro-gkdkwx4j){top:auto;bottom:var(--hero-content-inset)}}html[data-theme=light] .hero-image:where(.astro-j7pv25f6){--tw-invert:invert(100%);filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.landing-hero:where(.astro-j7pv25f6){--hero-inset:var(--page-inset);padding:0 var(--hero-inset)}#hero:where(.astro-j7pv25f6){--hero-shade-width:1100px;--hero-shade-height:110%;isolation:isolate;padding:var(--hero-content-inset);min-height:calc(100svh - var(--nav-height) - var(--frame-inset));background-color:#1a1413;background-position:50%;background-size:cover;border-radius:1rem;flex-direction:column;align-items:flex-start;display:flex;position:relative}@media (min-width:920px){#hero:where(.astro-j7pv25f6) .hero-kicker:where(.astro-j7pv25f6){max-width:calc((100% - var(--nav-width,472px))/2 - var(--bento-gap));min-height:36px}.landing-hero:where(.astro-j7pv25f6){padding-top:var(--frame-inset)}#hero:where(.astro-j7pv25f6){min-height:calc(100svh - 2*var(--frame-inset))}}#hero:where(.astro-j7pv25f6):before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse var(--hero-shade-width)var(--hero-shade-height)at left bottom,#1a1413d1,#1a1413b3 40%,#1a14136b 70%,transparent 100%);position:absolute;inset:0}#main-content:where(.astro-j7pv25f6){gap:var(--bento-gap);display:grid}@media (max-width:919px){#hero:where(.astro-j7pv25f6) .hero-kicker:where(.astro-j7pv25f6){display:none}#hero:where(.astro-j7pv25f6){--hero-shade-width:180%;--hero-shade-height:130%;background-position:50%;margin-top:0}}#hero:where(.astro-j7pv25f6) h1:where(.astro-j7pv25f6){text-wrap:balance;letter-spacing:-.025em;font-size:4rem;font-weight:500;line-height:1.05;display:inline-block}@media (max-width:640px){#hero:where(.astro-j7pv25f6) h1:where(.astro-j7pv25f6){font-size:2.5rem}}#hero:where(.astro-j7pv25f6) .hero-text:where(.astro-j7pv25f6){color:#fff}.hero-cta:where(.astro-j7pv25f6){background:rgba(var(--color-accent),.9);color:rgb(var(--color-text-inverted));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-cta:where(.astro-j7pv25f6):hover{background:rgba(var(--color-accent),.98)}#hero:where(.astro-j7pv25f6) .rss-link:where(.astro-j7pv25f6){margin-bottom:1.5rem}#hero:where(.astro-j7pv25f6) .rss-icon:where(.astro-j7pv25f6){--tw-scale-x:1.1;--tw-scale-y:1.1;width:1.5rem;height:1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skew(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y));fill:rgb(var(--color-accent));margin-bottom:.5rem}@media (min-width:860px){#hero:where(.astro-j7pv25f6) .rss-icon:where(.astro-j7pv25f6){--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skew(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y));margin-bottom:.75rem}}#hero:where(.astro-j7pv25f6) #overline:where(.astro-j7pv25f6){opacity:.7;max-width:36rem;font-size:.875rem;font-weight:400;line-height:1.25rem}#hero:where(.astro-j7pv25f6) #tagline:where(.astro-j7pv25f6){text-wrap:balance;letter-spacing:-.025em;max-width:36rem;margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;line-height:1.25rem}@media (min-width:860px){#hero:where(.astro-j7pv25f6) #tagline:where(.astro-j7pv25f6){margin-top:1.5rem;font-size:1rem;line-height:1.5rem}}