@charset "UTF-8";.lang-toggle[data-v-8774e5be]{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:11px;letter-spacing:.04em}.lang-btn[data-v-8774e5be]{font:inherit;padding:0;border:0;background:transparent;color:var(--fg-muted);cursor:pointer;transition:color var(--t-fast)}.lang-btn[data-v-8774e5be]:not(:last-child):after{content:"/";margin-left:6px;color:var(--fg-subtle);pointer-events:none}.lang-btn[data-v-8774e5be]:hover{color:var(--fg)}.lang-btn.is-active[data-v-8774e5be]{color:var(--epfl-red);font-weight:700}.v-icon{--v-icon-size-multiplier: 1;align-items:center;display:inline-flex;font-feature-settings:"liga";height:1em;justify-content:center;letter-spacing:normal;line-height:1;position:relative;opacity:var(--v-icon-opacity, 1);text-indent:0;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1em;min-width:1em}.v-icon--clickable{cursor:pointer}.v-icon--disabled{pointer-events:none;opacity:.38}.v-icon--size-x-small{font-size:calc(var(--v-icon-size-multiplier) * 1em)}.v-icon--size-small{font-size:calc(var(--v-icon-size-multiplier) * 1.25em)}.v-icon--size-default{font-size:calc(var(--v-icon-size-multiplier) * 1.5em)}.v-icon--size-large{font-size:calc(var(--v-icon-size-multiplier) * 1.75em)}.v-icon--size-x-large{font-size:calc(var(--v-icon-size-multiplier) * 2em)}.v-icon__svg{fill:currentColor;width:100%;height:100%}.v-icon--start{margin-inline-end:8px}.v-icon--end{margin-inline-start:8px}.v-btn{align-items:center;border-radius:4px;display:inline-grid;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;font-weight:500;justify-content:center;letter-spacing:.0892857143em;line-height:normal;max-width:100%;outline:none;position:relative;text-decoration:none;text-indent:.0892857143em;text-transform:uppercase;transition-property:box-shadow,transform,opacity,background;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;vertical-align:middle;flex-shrink:0}.v-locale--is-rtl .v-btn{text-indent:-.0892857143em}.v-btn--size-x-small{--v-btn-size: .625rem;--v-btn-height: 20px;font-size:var(--v-btn-size);min-width:36px;padding:0 8px}.v-btn--size-small{--v-btn-size: .75rem;--v-btn-height: 28px;font-size:var(--v-btn-size);min-width:50px;padding:0 12px}.v-btn--size-default{--v-btn-size: .875rem;--v-btn-height: 36px;font-size:var(--v-btn-size);min-width:64px;padding:0 16px}.v-btn--size-large{--v-btn-size: 1rem;--v-btn-height: 44px;font-size:var(--v-btn-size);min-width:78px;padding:0 20px}.v-btn--size-x-large{--v-btn-size: 1.125rem;--v-btn-height: 52px;font-size:var(--v-btn-size);min-width:92px;padding:0 24px}.v-btn.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -8px)}.v-btn.v-btn--density-compact{height:calc(var(--v-btn-height) + -12px)}.v-btn{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn--border{border-width:thin;box-shadow:none}.v-btn--absolute{position:absolute}.v-btn--fixed{position:fixed}.v-btn:hover>.v-btn__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-btn:focus-visible>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn:focus>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-btn--active>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn--active:hover>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn--active:focus-visible>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn--active:focus>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn--variant-plain,.v-btn--variant-outlined,.v-btn--variant-text,.v-btn--variant-tonal{background:transparent;color:inherit}.v-btn--variant-plain{opacity:.62}.v-btn--variant-plain:focus,.v-btn--variant-plain:hover{opacity:1}.v-btn--variant-plain .v-btn__overlay{display:none}.v-btn--variant-elevated,.v-btn--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn--variant-elevated{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--variant-outlined{border:thin solid currentColor}.v-btn--variant-text .v-btn__overlay{background:currentColor}.v-btn--variant-tonal .v-btn__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-btn .v-btn__underlay{position:absolute}@supports selector(:focus-visible){.v-btn:after{pointer-events:none;border:2px solid currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-btn:focus-visible:after{opacity:calc(.25 * var(--v-theme-overlay-multiplier))}}.v-btn--icon{border-radius:50%;min-width:0;padding:0}.v-btn--icon.v-btn--size-default{--v-btn-size: 1rem}.v-btn--icon.v-btn--density-default{width:calc(var(--v-btn-height) + 12px);height:calc(var(--v-btn-height) + 12px)}.v-btn--icon.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px);height:calc(var(--v-btn-height) + 0px)}.v-btn--icon.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px);height:calc(var(--v-btn-height) + -8px)}.v-btn--elevated:hover,.v-btn--elevated:focus{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--elevated:active{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn--flat{box-shadow:none}.v-btn--block{display:flex;flex:1 0 auto;min-width:100%}.v-btn--spaced{display:grid;grid-template-columns:max-content 1fr max-content}.v-btn--spaced.v-btn--spaced-start>.v-btn__content{justify-content:end}.v-btn--spaced.v-btn--spaced-end>.v-btn__content{justify-content:start}.v-btn--disabled{pointer-events:none;opacity:.26}.v-btn--disabled:hover{opacity:.26}.v-btn--disabled.v-btn--variant-elevated,.v-btn--disabled.v-btn--variant-flat{box-shadow:none;opacity:1;color:rgba(var(--v-theme-on-surface),.26);background:rgb(var(--v-theme-surface))}.v-btn--disabled.v-btn--variant-elevated .v-btn__overlay,.v-btn--disabled.v-btn--variant-flat .v-btn__overlay{opacity:.4615384615}.v-btn--loading{pointer-events:none}.v-btn--loading .v-btn__content,.v-btn--loading .v-btn__prepend,.v-btn--loading .v-btn__append{opacity:0}.v-btn--stacked{grid-template-areas:"prepend" "content" "append";grid-template-columns:auto;grid-template-rows:max-content max-content max-content;justify-items:center;align-content:center}.v-btn--stacked .v-btn__content{flex-direction:column;line-height:1.25}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--start,.v-btn--stacked .v-btn__content>.v-icon--end{margin-inline:0}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__content>.v-icon--start{margin-bottom:4px}.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--end{margin-top:4px}.v-btn--stacked.v-btn--size-x-small{--v-btn-size: .625rem;--v-btn-height: 56px;font-size:var(--v-btn-size);min-width:56px;padding:0 12px}.v-btn--stacked.v-btn--size-small{--v-btn-size: .75rem;--v-btn-height: 64px;font-size:var(--v-btn-size);min-width:64px;padding:0 14px}.v-btn--stacked.v-btn--size-default{--v-btn-size: .875rem;--v-btn-height: 72px;font-size:var(--v-btn-size);min-width:72px;padding:0 16px}.v-btn--stacked.v-btn--size-large{--v-btn-size: 1rem;--v-btn-height: 80px;font-size:var(--v-btn-size);min-width:80px;padding:0 18px}.v-btn--stacked.v-btn--size-x-large{--v-btn-size: 1.125rem;--v-btn-height: 88px;font-size:var(--v-btn-size);min-width:88px;padding:0 20px}.v-btn--stacked.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn--stacked.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -16px)}.v-btn--stacked.v-btn--density-compact{height:calc(var(--v-btn-height) + -24px)}.v-btn--slim{padding:0 8px}.v-btn--readonly{pointer-events:none}.v-btn--rounded{border-radius:24px}.v-btn--rounded.v-btn--icon{border-radius:4px}.v-btn .v-icon{--v-icon-size-multiplier: .8571428571}.v-btn--icon .v-icon{--v-icon-size-multiplier: 1}.v-btn--stacked .v-icon{--v-icon-size-multiplier: 1.1428571429}.v-btn--stacked.v-btn--block{min-width:100%}.v-btn__loader{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-btn__loader>.v-progress-circular{width:1.5em;height:1.5em}.v-btn__content,.v-btn__prepend,.v-btn__append{align-items:center;display:flex;transition:transform,opacity .2s cubic-bezier(.4,0,.2,1)}.v-btn__prepend{grid-area:prepend;margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn--slim .v-btn__prepend{margin-inline-start:0}.v-btn__append{grid-area:append;margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--slim .v-btn__append{margin-inline-end:0}.v-btn__content{grid-area:content;justify-content:center;white-space:nowrap}.v-btn__content>.v-icon--start{margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn__content>.v-icon--end{margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--stacked .v-btn__content{white-space:normal}.v-btn__overlay{background-color:currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn__overlay,.v-btn__underlay{pointer-events:none}.v-btn__overlay,.v-btn__underlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-pagination .v-btn{width:auto;padding-inline:5px}.v-pagination .v-btn.v-btn--density-default{min-width:calc(var(--v-btn-height) + 12px)}.v-pagination .v-btn.v-btn--density-comfortable{min-width:calc(var(--v-btn-height) + 0px)}.v-pagination .v-btn.v-btn--density-compact{min-width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-btn{border-radius:4px}.v-pagination .v-btn--rounded{border-radius:50%}.v-pagination .v-btn__overlay{transition:none}.v-pagination__prev .v-btn,.v-pagination__next .v-btn{padding-inline:0}.v-pagination__prev .v-btn.v-btn--density-default,.v-pagination__next .v-btn.v-btn--density-default{width:calc(var(--v-btn-height) + 12px)}.v-pagination__prev .v-btn.v-btn--density-comfortable,.v-pagination__next .v-btn.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px)}.v-pagination__prev .v-btn.v-btn--density-compact,.v-pagination__next .v-btn.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-pagination__item--is-active .v-btn__overlay{opacity:var(--v-border-opacity)}@media(forced-colors:active){.v-btn:not(.v-btn--variant-text,.v-btn--variant-plain){border:thin solid}.v-btn:focus-visible{outline:2px solid;outline-offset:2px}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled)>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-plain{opacity:1}@media(forced-colors:active){.v-btn-toggle>.v-btn:not(.v-btn--disabled){border-color:buttontext!important}.v-btn-toggle>.v-btn:not(.v-btn--disabled):focus-visible{outline:0}.v-btn-toggle>.v-btn:not(.v-btn--disabled):not(.v-btn--active):hover,.v-btn-toggle>.v-btn:not(.v-btn--disabled):not(.v-btn--active):focus-visible{color:highlight;border-color:currentColor!important}.v-btn-toggle>.v-btn--active{color:highlight!important;forced-color-adjust:preserve-parent-color}.v-btn-toggle>.v-btn--active:not(.v-btn--variant-text,.v-btn--variant-plain){background-color:highlight!important;color:highlighttext!important;border-color:highlight!important}}.v-btn-group{display:inline-flex;flex-wrap:nowrap;max-width:100%;min-width:0;overflow-y:hidden;overflow-x:auto;vertical-align:middle}.v-btn-group{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn-group--border{border-width:thin;box-shadow:none}.v-btn-group{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-btn-group{border-radius:4px}.v-btn-group{background:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn-group--density-default.v-btn-group{height:48px}.v-btn-group--density-comfortable.v-btn-group{height:40px}.v-btn-group--density-compact.v-btn-group{height:36px}.v-btn-group .v-btn{border-radius:0;border-color:inherit}.v-btn-group--tile{border-radius:0}.v-btn-group--horizontal .v-btn:not(:last-child){border-inline-end:none}.v-btn-group--horizontal .v-btn:not(:first-child){border-inline-start:none}.v-btn-group--horizontal .v-btn:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.v-btn-group--horizontal .v-btn:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.v-btn-group--horizontal.v-btn-group--divided .v-btn:not(:last-child){border-inline-end-width:thin;border-inline-end-style:solid;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-btn-group--vertical{flex-direction:column;height:auto!important}.v-btn-group--vertical .v-btn:not(:last-child){border-block-end:none}.v-btn-group--vertical .v-btn:not(:first-child){border-block-start:none}.v-btn-group--vertical .v-btn:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.v-btn-group--vertical .v-btn:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.v-btn-group--vertical.v-btn-group--divided .v-btn:not(:last-child){border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-progress-circular{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative;vertical-align:middle}.v-progress-circular>svg{width:100%;height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0;z-index:0}.v-progress-circular__content{align-items:center;display:flex;justify-content:center}.v-progress-circular__underlay{color:rgba(var(--v-border-color),var(--v-border-opacity));stroke:currentColor;z-index:1}.v-progress-circular__overlay{stroke:currentColor;transition:all .2s ease-in-out,stroke-width 0s;z-index:2}.v-progress-circular--revealing{--progress-reveal-duration: $progress-circular-reveal-duration}.v-progress-circular--revealing .v-progress-circular__overlay{transition-duration:var(--progress-reveal-duration),0s}.v-progress-circular--size-x-small{height:16px;width:16px}.v-progress-circular--size-small{height:24px;width:24px}.v-progress-circular--size-default{height:32px;width:32px}.v-progress-circular--size-large{height:48px;width:48px}.v-progress-circular--size-x-large{height:64px;width:64px}.v-progress-circular--indeterminate>svg{animation:progress-circular-rotate 1.4s linear infinite;transform-origin:center center;transition:all .2s ease-in-out}.v-progress-circular--indeterminate .v-progress-circular__overlay{animation:progress-circular-dash 1.4s ease-in-out infinite,progress-circular-rotate 1.4s linear infinite;stroke-dasharray:25,200;stroke-dashoffset:0;stroke-linecap:round;transform-origin:center center;transform:rotate(-90deg)}.v-progress-circular--disable-shrink>svg{animation-duration:.7s}.v-progress-circular--disable-shrink .v-progress-circular__overlay{animation:none}.v-progress-circular--indeterminate:not(.v-progress-circular--visible)>svg,.v-progress-circular--indeterminate:not(.v-progress-circular--visible) .v-progress-circular__overlay{animation-play-state:paused!important}@keyframes progress-circular-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0px}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-124px}}@keyframes progress-circular-rotate{to{transform:rotate(270deg)}}.v-progress-linear{background:transparent;overflow:hidden;position:relative;transition:.2s cubic-bezier(.4,0,.2,1),mask-size 0s;width:100%}@media(forced-colors:active){.v-progress-linear{border:thin solid buttontext}}.v-progress-linear__background,.v-progress-linear__buffer{background:currentColor;bottom:0;left:0;opacity:var(--v-border-opacity);position:absolute;top:0;width:100%;transition-property:width,left,right;transition:inherit}@media(forced-colors:active){.v-progress-linear__buffer{background-color:highlight!important;opacity:.5!important}}.v-progress-linear__content{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-progress-linear--clickable .v-progress-linear__content{pointer-events:none}.v-progress-linear__determinate,.v-progress-linear__indeterminate{background:currentColor}@media(forced-colors:active){.v-progress-linear__determinate,.v-progress-linear__indeterminate{background-color:highlight!important}}.v-progress-linear__determinate{height:inherit;left:0;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear__indeterminate .long,.v-progress-linear__indeterminate .short{animation-play-state:paused;animation-duration:2.2s;animation-iteration-count:infinite;bottom:0;height:inherit;left:0;position:absolute;right:auto;top:0;width:auto}.v-progress-linear__indeterminate .long{animation-name:indeterminate-ltr}.v-progress-linear__indeterminate .short{animation-name:indeterminate-short-ltr}.v-progress-linear__stream{animation:stream .25s infinite linear;animation-play-state:paused;bottom:0;left:auto;opacity:.3;pointer-events:none;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear--reverse .v-progress-linear__background,.v-progress-linear--reverse .v-progress-linear__determinate,.v-progress-linear--reverse .v-progress-linear__content,.v-progress-linear--reverse .v-progress-linear__indeterminate .long,.v-progress-linear--reverse .v-progress-linear__indeterminate .short{left:auto;right:0}.v-progress-linear--reverse .v-progress-linear__indeterminate .long{animation-name:indeterminate-rtl}.v-progress-linear--reverse .v-progress-linear__indeterminate .short{animation-name:indeterminate-short-rtl}.v-progress-linear--reverse .v-progress-linear__stream{right:auto}.v-progress-linear--absolute,.v-progress-linear--fixed{left:0;z-index:1}.v-progress-linear--absolute{position:absolute}.v-progress-linear--fixed{position:fixed}.v-progress-linear--rounded{border-radius:9999px}.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__indeterminate{border-radius:inherit}.v-progress-linear--striped .v-progress-linear__determinate{animation:progress-linear-stripes 1s infinite linear;background-image:linear-gradient(135deg,hsla(0,0%,100%,.25) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.25) 0,hsla(0,0%,100%,.25) 75%,transparent 0,transparent);background-repeat:repeat;background-size:var(--v-progress-linear-height)}.v-progress-linear--active .v-progress-linear__indeterminate .long,.v-progress-linear--active .v-progress-linear__indeterminate .short,.v-progress-linear--active .v-progress-linear__stream{animation-play-state:running}.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded-bar .v-progress-linear__indeterminate,.v-progress-linear--rounded-bar .v-progress-linear__stream+.v-progress-linear__background{border-radius:9999px}.v-progress-linear--rounded-bar .v-progress-linear__determinate{border-start-start-radius:0;border-end-start-radius:0}@keyframes indeterminate-ltr{0%{left:-90%;right:100%}60%{left:-90%;right:100%}to{left:100%;right:-35%}}@keyframes indeterminate-rtl{0%{left:100%;right:-90%}60%{left:100%;right:-90%}to{left:-35%;right:100%}}@keyframes indeterminate-short-ltr{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short-rtl{0%{left:100%;right:-200%}60%{left:-8%;right:107%}to{left:-8%;right:107%}}@keyframes stream{to{transform:translate(var(--v-progress-linear-stream-to))}}@keyframes progress-linear-stripes{0%{background-position-x:var(--v-progress-linear-height)}}.v-ripple__container{color:inherit;border-radius:inherit;position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;z-index:0;pointer-events:none;contain:strict}.v-ripple__animation{color:inherit;position:absolute;top:0;left:0;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;overflow:hidden;will-change:transform,opacity}.v-ripple__animation--enter{transition:none;opacity:0}.v-ripple__animation--in{transition:transform .25s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1);opacity:calc(.25 * var(--v-theme-overlay-multiplier))}@media(prefers-reduced-motion:reduce){.v-ripple__animation--in{transition-property:opacity;transition-duration:.1s}}.v-ripple__animation--out{transition:opacity .3s cubic-bezier(0,0,.2,1);opacity:0}.v-snackbar{justify-content:center;z-index:10000;margin:8px;margin-inline-end:calc(8px + var(--v-scrollbar-offset));padding:var(--v-layout-top) var(--v-layout-right) var(--v-layout-bottom) var(--v-layout-left)}.v-snackbar:not(.v-snackbar--center):not(.v-snackbar--top){align-items:flex-end}.v-snackbar__wrapper{align-items:center;display:flex;max-width:672px;min-height:48px;min-width:344px;overflow:hidden;padding:0}.v-snackbar__wrapper{border-radius:4px}.v-snackbar--variant-plain,.v-snackbar--variant-outlined,.v-snackbar--variant-text,.v-snackbar--variant-tonal{background:transparent;color:inherit}.v-snackbar--variant-plain{opacity:.62}.v-snackbar--variant-plain:focus,.v-snackbar--variant-plain:hover{opacity:1}.v-snackbar--variant-plain .v-snackbar__overlay{display:none}.v-snackbar--variant-elevated,.v-snackbar--variant-flat{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-snackbar--variant-elevated{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-outlined{border:thin solid currentColor}.v-snackbar--variant-text .v-snackbar__overlay{background:currentColor}.v-snackbar--variant-tonal .v-snackbar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;top:0;right:0;bottom:0;left:0;pointer-events:none}.v-snackbar .v-snackbar__underlay{position:absolute}@media(forced-colors:active){.v-snackbar__wrapper{border:thick solid}}.v-snackbar__content{flex-grow:1;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;line-height:1.425;margin-right:auto;padding:14px 16px;text-align:initial}.v-snackbar__actions{align-items:center;align-self:center;display:flex;margin-inline-end:8px}.v-snackbar__actions>.v-btn{padding:0 8px;min-width:auto}.v-snackbar__timer{width:100%;position:absolute;top:0}.v-snackbar__timer .v-progress-linear{transition:.2s linear}.v-snackbar--absolute{position:absolute;z-index:1}.v-snackbar--multi-line .v-snackbar__wrapper{min-height:68px}.v-snackbar--vertical .v-snackbar__wrapper{flex-direction:column}.v-snackbar--vertical .v-snackbar__wrapper .v-snackbar__actions{align-self:flex-end;margin-bottom:8px}.v-snackbar--center{align-items:center;justify-content:center}.v-snackbar--top{align-items:flex-start}.v-snackbar--bottom{align-items:flex-end}.v-snackbar--left,.v-snackbar--start{justify-content:flex-start}.v-snackbar--right,.v-snackbar--end{justify-content:flex-end}.v-snackbar-transition-enter-active,.v-snackbar-transition-leave-active{transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-snackbar-transition-enter-active{transition-property:opacity,transform}@media(prefers-reduced-motion:reduce){.v-snackbar-transition-enter-active{transition-property:opacity}}.v-snackbar-transition-enter-from{opacity:0;transform:scale(.8)}.v-snackbar-transition-leave-active{transition-property:opacity}.v-snackbar-transition-leave-to{opacity:0}.v-overlay-container{contain:layout;left:0;pointer-events:none;position:absolute;top:0;display:contents}.v-overlay-scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-overlay-scroll-blocked:not(html){overflow-y:hidden!important}html.v-overlay-scroll-blocked{position:fixed;top:var(--v-body-scroll-y);left:var(--v-body-scroll-x);width:100%;height:100%}.v-overlay{--v-overlay-opacity: 50%;border-radius:inherit;display:flex;left:0;pointer-events:none;position:fixed;top:0;bottom:0;right:0}.v-overlay__content{outline:none;position:absolute;pointer-events:auto;contain:layout}.v-overlay__scrim{pointer-events:auto;background:#000;border-radius:inherit;bottom:0;left:0;opacity:var(--v-overlay-opacity);position:fixed;right:0;top:0}.v-overlay--absolute,.v-overlay--contained .v-overlay__scrim{position:absolute}.v-overlay--scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-application{display:flex;background:rgb(var(--v-theme-background));color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))}.v-application__wrap{backface-visibility:hidden;display:flex;flex-direction:column;flex:1 1 auto;max-width:100%;min-height:100vh;min-height:100dvh;position:relative}.v-card a{color:#000}.v-list-item__content{overflow:unset}.v-input__control{height:40px}.v-list-item{margin-right:1px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.v-application{font-family:var(--font-sans)!important;color:var(--fg);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none}.v-application .v-card,.v-application .v-btn,.v-application .v-btn__overlay,.v-application .v-field,.v-application .v-field__outline__start,.v-application .v-field__outline__end,.v-application .v-chip,.v-application .v-sheet,.v-application .v-list,.v-application .v-menu>.v-overlay__content,.v-application .v-overlay__content>.v-card,.v-application .v-tooltip>.v-overlay__content,.v-application .v-snackbar__wrapper,.v-application .v-alert,.v-application .v-input__control{border-radius:0!important}.v-application .v-card{box-shadow:none!important}.t-page{margin:0;font-size:var(--title-page-size);font-weight:var(--title-page-weight);line-height:var(--title-page-lh);letter-spacing:var(--title-page-tracking)}.t-card{font-size:var(--title-card-size);font-weight:var(--title-card-weight);letter-spacing:var(--title-card-tracking);line-height:1.3;color:var(--fg)}.t-panel{font-size:var(--title-panel-size);font-weight:var(--title-panel-weight);letter-spacing:var(--title-panel-tracking);text-transform:uppercase;color:var(--fg)}.t-eyebrow{font-size:var(--title-eyebrow-size);font-weight:var(--title-eyebrow-weight);letter-spacing:var(--title-eyebrow-tracking);text-transform:uppercase;color:var(--epfl-red)}.t-subhead{font-size:var(--title-subhead-size);font-weight:var(--title-subhead-weight);letter-spacing:var(--title-subhead-tracking);color:var(--fg)}.t-eyebrow,.eyebrow,.hero-eyebrow,.section-eyebrow,.logos-eyebrow,.cd-eyebrow,.cd-section-h,.drawer-body h2{font-family:var(--title-eyebrow-font)}.ey-red{color:var(--epfl-red)}.ey-mut{color:var(--fg-subtle)}.app-shell{min-height:100vh;display:flex;background:var(--bg-app);width:100%}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-content{flex:1;min-width:0}.sidebar{width:260px;flex:0 0 260px;background:var(--bg);border-right:1px solid var(--border);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:24px 0 0;overflow-y:auto;z-index:100}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 24px 20px;border-bottom:1px solid var(--border-subtle);margin-bottom:16px;text-decoration:none;color:inherit}.sidebar-brand img{height:24px;display:block}.sidebar-brand-name{font-weight:700;font-size:14px;line-height:1.2}.sidebar-brand-name small{display:block;font-weight:400;font-size:10px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.sidebar-section{padding:16px 24px 6px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);font-weight:700}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 24px;color:var(--fg);text-decoration:none;font-size:14px;font-weight:400;position:relative;cursor:pointer;border-left:3px solid transparent;transition:all var(--t-fast)}.sidebar-link:hover{background:var(--bg-subtle);color:var(--epfl-red)}.sidebar-link.is-active{color:var(--epfl-red)}.sidebar-link.is-active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--epfl-red)}.sidebar-group{display:flex;align-items:stretch}.sidebar-group .sidebar-group-link{flex:1}.sidebar-group.is-active .sidebar-group-link{color:var(--epfl-red)}.sidebar-group.is-active .sidebar-group-link:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--epfl-red)}.sidebar-group-toggle{display:flex;align-items:center;padding:0 12px;color:var(--fg-muted);background:none;border:none;cursor:pointer;transition:all var(--t-fast)}.sidebar-group-toggle:hover{background:var(--bg-subtle);color:var(--epfl-red)}.sidebar-group-toggle .v-icon{transition:transform var(--t-fast)}.sidebar-group-toggle .chevron-open{transform:rotate(180deg)}.sidebar-children{margin:2px 0 6px 24px}.sidebar-child{border-left:1px solid var(--border);padding-left:16px;font-size:13px;font-weight:400}.sidebar-child.is-active{border-left-color:var(--epfl-red)}.sidebar-child.is-active:before{display:none}.sidebar-link .count{margin-left:auto;font-family:var(--font-sans);font-size:11px;color:var(--fg-muted);font-weight:400;font-feature-settings:"tnum"}.sidebar-link.is-active .count{color:var(--epfl-red)}.sidebar-foot{margin-top:auto;padding:16px 24px;border-top:1px solid var(--border-subtle);display:flex;gap:10px;align-items:center;font-size:12px;color:var(--fg-muted);position:sticky;bottom:0;background:var(--bg)}.sidebar-foot .hdr-icon-btn{width:26px;height:26px}.mhdr{display:none;align-items:center;gap:14px;height:56px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:90}.mhdr-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--fg);text-decoration:none}.mhdr-brand img{height:20px}.mhdr-brand-name{line-height:1.2}.mhdr-brand-name small{display:block;font-weight:400;font-size:10px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.sidebar-scrim{display:none}@media(max-width:1023px){.mhdr{display:flex}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1005;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.sidebar-scrim.open{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;bottom:0;left:-280px;height:100%;transition:left .25s ease-in-out;z-index:1010}.sidebar.open{left:0}}.hdr-icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:var(--radius);transition:all var(--t-fast);padding:0}.hdr-icon-btn:hover{border-color:var(--fg);color:var(--epfl-red)}.hero{display:grid;grid-template-columns:minmax(420px,38%) 1fr;position:relative;background:var(--bg);align-items:stretch;min-height:520px}.hero-text{position:relative;z-index:2;align-self:center;background:var(--bg);padding:48px 48px 48px 64px;margin:44px 0}.hero-eyebrow{font-size:var(--title-eyebrow-size);letter-spacing:var(--title-eyebrow-tracking);text-transform:uppercase;color:var(--epfl-red);font-weight:var(--title-eyebrow-weight);margin-bottom:18px}.hero-title{font-size:44px;line-height:1.05;font-weight:700;letter-spacing:-.01em;margin:0}.hero-title em{font-style:normal;color:var(--epfl-red)}.hero-lede{margin:20px 0 26px;font-size:17px;line-height:1.55;color:var(--fg-muted);max-width:560px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.hero-img{position:relative;margin-left:-120px;background:var(--epfl-gray-200);min-height:520px;overflow:hidden}.hero-img video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-img-credit{position:absolute;bottom:14px;right:18px;font-size:11px;background:#0000008c;color:#fff;padding:3px 8px;letter-spacing:.02em;z-index:1}.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:14px;font-weight:600;padding:11px 22px;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:all var(--t-fast);line-height:1;white-space:nowrap}.btn-primary{background:var(--epfl-red);color:#fff;border-color:var(--epfl-red)}.btn-primary:hover{background:var(--epfl-red-dark);border-color:var(--epfl-red-dark);color:#fff}.btn-secondary{background:transparent;color:var(--fg);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--fg);color:var(--fg)}.btn-ghost{background:transparent;color:var(--fg);border-color:transparent;padding:8px 12px}.btn-ghost:hover{background:var(--bg-subtle);color:var(--epfl-red)}.btn-sm{padding:7px 12px;font-size:12px}.btn:disabled{opacity:.4;pointer-events:none}.keynums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg)}.keynum{padding:36px 36px 32px;border-right:1px solid var(--border-subtle)}.keynum:last-child{border-right:0}.keynum-num{font-size:56px;font-weight:300;line-height:1;color:var(--fg);letter-spacing:-.02em;font-feature-settings:"tnum"}.keynum-bar{width:32px;height:3px;background:var(--epfl-red);margin:14px 0 12px}.keynum-bar--loading{animation:keynum-pingpong .9s ease-in-out infinite}@keyframes keynum-pingpong{0%,to{transform:translate(0)}50%{transform:translate(100%)}}.keynum-bar--stale{background:var(--fg-muted)}@media(prefers-reduced-motion:reduce){.keynum-bar--loading{animation:none}}.keynum-label{font-size:13px;color:var(--fg-muted);line-height:1.4;max-width:220px}.section{padding:72px 64px}.section-bg-subtle{background:var(--bg-subtle)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;gap:32px}.section-eyebrow{font-size:var(--title-eyebrow-size);letter-spacing:var(--title-eyebrow-tracking);text-transform:uppercase;color:var(--epfl-red);font-weight:var(--title-eyebrow-weight);margin-bottom:8px}.section-title{font-size:32px;font-weight:400;margin:0;letter-spacing:-.01em;line-height:1.15;max-width:720px}.section-sub{margin-top:14px;color:var(--fg-muted);max-width:580px;font-size:15px}.section-link{font-weight:600;font-size:13px;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--epfl-red);padding-bottom:2px;white-space:nowrap;cursor:pointer}.section-link:hover{color:var(--epfl-red)}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cat-tile{background:var(--bg);border:1px solid var(--border);padding:28px 28px 24px;display:flex;flex-direction:column;gap:12px;position:relative;cursor:pointer;text-decoration:none;color:var(--fg);transition:background var(--t-fast),border-color var(--t-fast);min-height:200px}.cat-tile:hover{background:var(--bg-subtle);border-color:var(--fg)}.cat-tile:hover .cat-arrow{transform:translate(4px);color:var(--epfl-red)}.cat-tile-icon{width:44px;height:44px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--fg)}.cat-tile-title{font-size:19px;font-weight:700;margin:0;line-height:1.2}.cat-tile-desc{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.45}.cat-tile-desc-long{display:none;font-size:13px;color:var(--fg-muted);margin:0;line-height:1.5}.cat-tile-meta{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;font-size:12px;color:var(--fg-muted);border-top:1px solid var(--border-subtle)}.cat-tile-meta strong{color:var(--fg);font-weight:600}.cat-tile-meta .cat-tab{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.cat-arrow{position:absolute;top:28px;right:28px;width:18px;height:18px;color:var(--fg-muted);transition:transform var(--t-fast),color var(--t-fast)}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:32px}.split-7-5{display:grid;grid-template-columns:7fr 5fr;gap:32px}.surface{background:var(--bg);border:1px solid var(--border)}.surface-pad{padding:28px 32px}.map-frame{position:relative;min-height:460px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.map-frame>*{flex:1}.video-frame{aspect-ratio:16 / 9;background:#000;border:1px solid var(--border);position:relative}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.logos{display:flex;align-items:center;gap:48px;padding:32px 64px;border-top:1px solid var(--border)}.logos-eyebrow{font-size:var(--title-eyebrow-size);letter-spacing:var(--title-eyebrow-tracking);text-transform:uppercase;color:var(--fg-muted);font-weight:var(--title-eyebrow-weight);flex:0 0 auto}.logos-items{flex:1;display:flex;justify-content:flex-start;align-items:center;gap:24px 44px;flex-wrap:wrap}.logos img{max-height:40px;max-width:160px;opacity:.75;transition:opacity var(--t-fast);display:block}.logos a:hover img{opacity:1}body.theme-dark .logos img{filter:invert(1) hue-rotate(180deg)}.tool-page{background:var(--bg);min-height:calc(100vh - 56px)}.tool-page table thead th{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--fg-muted)!important;font-weight:700!important;background:var(--bg-subtle)!important}.tool-page table tbody tr:hover td{background:var(--bg-subtle)!important}.dash{background:var(--bg);position:relative;min-height:calc(100vh - 56px);display:flex;flex-direction:column}.dash-with-rail{display:grid;grid-template-columns:280px 1fr}.dash-with-rail.rail-collapsed{grid-template-columns:56px 1fr}.dash-with-rail[data-filter-pos=right]{grid-template-columns:1fr 280px}.dash-with-rail[data-filter-pos=right].rail-collapsed{grid-template-columns:1fr 56px}.dash-with-rail[data-filter-pos=right]>.dash-filters{order:2}.dash-with-rail[data-filter-pos=right]>.dash-main{order:1}.dash-main{display:flex;flex-direction:column;min-width:0}.dash-filters{border-right:1px solid var(--border);background:var(--bg);padding:0 0 24px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.dash-filters-right{border-right:0;border-left:1px solid var(--border)}.dash-filters-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:var(--bg);z-index:1}.dash-filters-head-l{display:flex;align-items:center;gap:8px}.dash-filters-head h6{margin:0;font-size:var(--title-panel-size);text-transform:uppercase;letter-spacing:var(--title-panel-tracking);color:var(--fg);font-weight:var(--title-panel-weight)}.dash-filters-active-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--epfl-red);color:#fff;font-size:10px;font-weight:700;border-radius:0;font-feature-settings:"tnum"}.dash-filters-head-r{display:flex;align-items:center;gap:10px}.dash-filters-head .reset{font-size:11px;color:var(--epfl-red);cursor:pointer;text-decoration:none;background:none;border:0;padding:0;font-family:inherit}.dash-filters-head .reset:hover{color:var(--epfl-red-dark)}.dash-filters-collapse-btn{width:24px;height:24px;border:1px solid var(--border);background:var(--bg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted);border-radius:var(--radius);padding:0}.dash-filters-collapse-btn:hover{color:var(--epfl-red);border-color:var(--epfl-red)}.dash-filters-collapsed{padding:0;width:56px;align-items:center}.dash-filters-collapsed>.dash-filters-collapse-btn{margin:16px auto 8px;width:32px;height:32px;flex:0 0 auto}.dash-filters-collapsed-list{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0}.dash-filter-icon-row{position:relative}.dash-filter-icon{position:relative;width:36px;height:36px;border:1px solid transparent;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--fg);border-radius:var(--radius);padding:0;font-family:inherit}.dash-filter-icon:hover{background:var(--bg-subtle)}.dash-filter-icon.is-active{color:var(--epfl-red)}.dash-filter-icon-row.is-open .dash-filter-icon{background:var(--bg-subtle);border-color:var(--border)}.dash-filter-icon-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--epfl-red);border-radius:50%;border:1.5px solid var(--bg)}.dash-filters-collapsed-reset{margin:auto 0 16px;width:28px;height:28px;border:1px dashed var(--border);background:transparent;color:var(--fg-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);padding:0}.dash-filters-collapsed-reset:hover{color:var(--epfl-red);border-color:var(--epfl-red);border-style:solid}.dash-filter-popover{position:absolute;top:0;width:260px;background:var(--bg);border:1px solid var(--border);border-top:2px solid var(--epfl-red);box-shadow:var(--shadow);z-index:5}.dash-filter-popover-right{left:calc(100% + 6px)}.dash-filter-popover-left{right:calc(100% + 6px)}.dash-filter-popover-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg)}.dash-filter-popover-x{width:20px;height:20px;background:transparent;border:0;cursor:pointer;color:var(--fg-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius)}.dash-filter-popover-x:hover{color:var(--epfl-red);background:var(--bg-subtle)}.dash-filter-popover-body{padding:12px 14px 14px}.filters-overlay{position:fixed;top:0;bottom:0;left:-340px;width:320px;max-width:100%;background:var(--bg);border-right:2px solid var(--epfl-red);z-index:1021;transition:left .25s ease-in-out;overflow-y:auto;display:flex;flex-direction:column}.filters-overlay.open{left:0}.dash-filters-overlay{position:static!important;height:auto!important;border:0!important;flex:1}.dash-filters-trigger{position:relative;flex:0 0 auto}.dash-filters-trigger-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background:var(--epfl-red);color:#fff;font-size:10px;font-weight:700;border-radius:0}.filter-group{padding:14px 24px;border-bottom:1px solid var(--border-subtle)}.filter-group-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--title-panel-size);text-transform:uppercase;letter-spacing:var(--title-panel-tracking);color:var(--fg-muted);font-weight:var(--title-panel-weight);margin-bottom:10px}.filter-group-head .count{background:var(--bg-subtle);padding:1px 6px;font-size:10px;color:var(--fg)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{padding:4px 10px;font-size:12px;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:var(--radius);transition:all var(--t-fast);font-weight:500;color:var(--fg);font-family:inherit}.chip:hover{border-color:var(--fg)}.chip.on{background:var(--epfl-black);color:var(--epfl-white);border-color:var(--epfl-black)}.chip.on-red{background:var(--epfl-red);color:var(--epfl-white);border-color:var(--epfl-red)}.range-row{display:flex;gap:8px;margin-top:10px}.range-row input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border);background:var(--bg);font-family:inherit;font-size:13px;color:var(--fg);border-radius:var(--radius)}.range-row input:focus{outline:2px solid var(--epfl-red);outline-offset:-1px}.range-track{position:relative;height:4px;background:var(--bg-subtle);margin:12px 0 6px}.range-fill{position:absolute;top:0;bottom:0;background:var(--epfl-red)}@media(max-width:1099px){.dash-with-rail,.dash-with-rail[data-filter-pos=right],.dash-with-rail.rail-collapsed,.dash-with-rail[data-filter-pos=right].rail-collapsed{grid-template-columns:1fr}.dash-with-rail>.dash-filters{display:none}}.dash-head{padding:24px 32px 18px;border-bottom:1px solid var(--border)}.dash .dash-head{border-bottom:none}.dash .dash-toolbar{padding-bottom:32px}.dash-head-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.dash-head-actions{display:flex;align-items:center;gap:8px}.dash-head-split{position:relative}.dash-head-main{padding-right:10rem}.dash-head-icon{position:absolute;top:0;right:0;height:100%;max-height:9rem;aspect-ratio:1;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--fg);--rl-icon-stroke: 1.25}.dash-head-icon .v-icon{width:58%;height:58%}@media(max-width:900px){.dash-head-main{padding-right:0}.dash-head-row{flex-wrap:nowrap}.dash-title{min-width:0}.dash-head-icon{position:static;flex:0 0 auto;height:3rem;max-height:none;--rl-icon-stroke: 1.5}}@media(max-width:560px){.dash-head-icon{height:2.5rem;--rl-icon-stroke: 1.8}}.dash-title{margin:0;font-size:var(--title-page-size);font-weight:var(--title-page-weight);line-height:var(--title-page-lh);letter-spacing:var(--title-page-tracking)}.dash-title-count{color:var(--fg-muted);font-weight:300;margin-left:14px;font-feature-settings:"tnum";white-space:nowrap}.dash-desc{margin:12px 0 0;color:var(--fg-muted);font-size:14px;max-width:780px;line-height:1.5}.eyebrow{font-size:var(--title-eyebrow-size);letter-spacing:var(--title-eyebrow-tracking);text-transform:uppercase;color:var(--epfl-red);font-weight:var(--title-eyebrow-weight)}.dash-active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 32px;background:var(--bg-subtle);border-bottom:1px solid var(--border);font-size:12px}.dash-active-filters strong{color:var(--fg-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.fchip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;background:var(--bg);border:1px solid var(--border);font-size:12px;font-weight:500;color:var(--fg)}.fchip-x{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fg-muted);border-left:1px solid var(--border-subtle);margin-left:4px;padding-left:4px}.fchip-x:hover{color:var(--epfl-red)}.chip-clear{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;background:transparent;color:var(--fg-muted);border:1px dashed var(--border);cursor:pointer;font-family:inherit}.chip-clear:hover{color:var(--epfl-red);border-color:var(--epfl-red)}.charts-strip,.charts-strip-2cols,.charts-strip-1col{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--border);background:var(--bg)}.chart-cell{flex:1 1 260px;min-width:260px;padding:18px 22px 16px;border-right:1px solid var(--border);min-height:220px;display:flex;flex-direction:column;contain:layout}.chart-cell:has(.double-chart__canvas){flex:2 1 450px;min-width:450px}.chart-cell:last-child{border-right:0}.chart-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;gap:12px}.chart-head h5{margin:0;font-size:var(--title-card-size);font-weight:var(--title-card-weight);letter-spacing:var(--title-card-tracking)}.chart-head .info{font-family:var(--title-eyebrow-font);font-size:.625rem;font-weight:var(--title-eyebrow-weight);letter-spacing:var(--title-eyebrow-tracking);color:var(--fg-muted);text-transform:uppercase;white-space:nowrap}.chart-head .info--clear{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;cursor:pointer;color:var(--epfl-red)}.chart-head .info--clear:hover{text-decoration:underline}.chart-cell .v-card{box-shadow:none!important;background:transparent!important}.chart-body{flex:1;min-height:0}.chart-cell .v-card:has(.single-chart__canvas){height:100%;display:flex;flex-direction:column}.chart-cell .v-card:has(.single-chart__canvas) .v-card-text{flex:1;min-height:0;display:flex;flex-direction:column}.chart-cell .single-chart__frame{flex:1;min-height:100px}.dash-toolbar{display:flex;align-items:center;gap:16px;padding:14px 32px;border-bottom:1px solid var(--border);background:var(--bg)}.dash-search{position:relative;flex:0 0 320px}.dash-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--fg-muted)}.dash-search input{width:100%;padding:10px 14px 10px 36px;border:1px solid var(--border);background:var(--bg);font-family:inherit;font-size:14px;color:var(--fg);border-radius:var(--radius)}.dash-search input:focus{outline:2px solid var(--epfl-red);outline-offset:-1px;border-color:transparent}.dash-toolbar-spacer{flex:1}.dash-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}@media(max-width:900px){.dash-toolbar{padding:12px 16px}.dash-search{flex:1 1 auto}}.dash-table{padding:0 32px 24px}.dash-table .v-card{box-shadow:none!important;border:0!important}.dash-table-full{padding:0}.dash-table-full .v-card{box-shadow:none!important;border:0!important;border-bottom:1px solid var(--border)!important}.dash-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--fg-muted)}.dash-pager strong{color:var(--fg)}.dash-pager-info{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dash-pager-actions{display:flex;align-items:center;gap:8px}.pager-size{margin-left:10px;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font-family:inherit;font-size:12px;cursor:pointer}.pager-size:focus{outline:2px solid var(--epfl-red);outline-offset:-1px}.pager-btns{display:flex;gap:4px}.pager-btn{width:30px;height:30px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;color:var(--fg);border-radius:var(--radius);transition:border-color var(--t-fast)}.pager-btn:hover{border-color:var(--fg)}.pager-btn.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.pager-btn:disabled{opacity:.4;pointer-events:none}.pager-ellipsis{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1020;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.drawer-scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;right:-780px;width:760px;max-width:100%;background:var(--bg);border-left:2px solid var(--epfl-red);z-index:1021;transition:right .25s ease-in-out;overflow-y:auto}.drawer.open{right:0}@media(max-width:900px){.drawer{width:100vw;right:-100vw}}.detail-panel{display:flex;flex-direction:column;min-height:100%;background:var(--bg);border:1px solid var(--border)}.drawer .detail-panel{border:0}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 32px 18px;border-bottom:1px solid var(--border);background:var(--bg)}.drawer .drawer-head{position:sticky;top:0;z-index:1}.drawer-body{padding:24px 32px 80px}.drawer-body h2,.cd-section-h{font-size:var(--title-eyebrow-size);letter-spacing:var(--title-eyebrow-tracking);text-transform:uppercase;color:var(--epfl-red);font-weight:var(--title-eyebrow-weight);margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.drawer-body h3{font-size:var(--title-subhead-size);font-weight:var(--title-subhead-weight);letter-spacing:var(--title-subhead-tracking);color:var(--fg);margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.cd-section-h-sub{color:var(--fg);border-bottom-color:var(--border-subtle);margin-top:18px}.cd-title-block{min-width:0}.cd-eyebrow{font-size:var(--title-eyebrow-size);letter-spacing:var(--title-eyebrow-tracking);text-transform:uppercase;color:var(--epfl-red);font-weight:var(--title-eyebrow-weight);margin:0 0 6px}.cd-title{margin:0;font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.005em;font-feature-settings:"tnum"}.cd-title-year{font-weight:300;color:var(--fg-muted)}.cd-title-id{font-family:var(--font-sans);font-size:12px;color:var(--fg-muted);margin-top:4px}.cd-head-actions{display:flex;gap:6px;align-items:center;flex:0 0 auto}.cd-publication{display:flex;align-items:baseline;gap:14px;padding:0 0 16px;border-bottom:1px solid var(--border-subtle);margin-bottom:18px}.cd-publication-label{font-size:var(--title-panel-size);text-transform:uppercase;letter-spacing:var(--title-panel-tracking);font-weight:var(--title-panel-weight);color:var(--fg-muted);flex:0 0 88px}.cd-publication-ref{font-size:13px;line-height:1.45;color:var(--fg);text-decoration:none;display:inline}a.cd-publication-ref{color:var(--fg);border-bottom:1px solid var(--border);padding-bottom:1px}a.cd-publication-ref:hover{color:var(--epfl-red);border-bottom-color:var(--epfl-red)}.cd-publication-ref .v-icon{margin-left:4px;opacity:.55;vertical-align:baseline}.cd-carousel{border:1px solid var(--border);background:var(--bg);margin-bottom:24px}.cd-carousel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-subtle);gap:16px}.cd-carousel-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}.cd-carousel-nav{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cd-carousel-btn{width:26px;height:26px;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;font-size:16px;line-height:1;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius)}.cd-carousel-btn:hover{border-color:var(--epfl-red);color:var(--epfl-red)}.cd-carousel-counter{font-family:var(--font-sans);font-size:11px;color:var(--fg-muted);min-width:36px;text-align:center}.cd-carousel-body{display:flex;gap:0;padding:12px 14px}.cd-chart-wrap{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--border-subtle);padding:0 8px}.cd-chart-wrap:last-child{border-right:0}.cd-chart-wrap .v-responsive{width:100%}.cd-chart-label{font-size:var(--title-panel-size);font-weight:var(--title-panel-weight);letter-spacing:var(--title-panel-tracking);text-transform:uppercase;color:var(--fg-muted);margin-bottom:4px;align-self:flex-start}.cd-twocol{display:grid;grid-template-columns:1fr 240px;gap:28px;align-items:start}.cd-twocol+.cd-twocol{margin-top:12px}.cd-prop-block{display:flex;flex-direction:column;gap:0}.cd-prop-block-row{flex-direction:row;flex-wrap:wrap;gap:8px 24px}.cd-prop-sub{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--epfl-red);margin-bottom:6px}.prop-item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:13px;line-height:1.4;padding:9px 0;border-bottom:1px solid var(--border-subtle)}.cd-prop-block-row .prop-item{padding:2px 0;border-bottom:0;gap:6px}.prop-name{color:var(--fg-muted)}.prop-val{font-weight:500;text-align:right;color:var(--fg);font-feature-settings:"tnum"}.prop-val.mono{font-family:var(--font-sans)}.prop-unit{color:var(--fg-subtle);font-weight:400;font-size:11px;margin-left:3px}.cd-schematic{display:flex;flex-direction:column;gap:6px}.cd-schematic-frame{background:var(--bg-subtle);border:1px solid var(--border);padding:14px;display:flex;align-items:center;justify-content:center;min-height:150px}.cd-schematic-frame img,.cd-schematic-frame .v-img{max-width:100%;max-height:140px;display:block}.cd-schematic-frame-sm{min-height:110px}.cd-schematic-frame-sm img,.cd-schematic-frame-sm .v-img{max-height:100px}.cd-schematic-cap{font-size:11px;color:var(--fg-muted);text-align:center;margin-bottom:6px}.cd-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);background:var(--border);gap:1px}.cd-kpi{background:var(--bg);padding:16px 18px 14px}.cd-kpi-num{font-size:30px;font-weight:300;line-height:1;letter-spacing:-.01em;color:var(--fg);font-feature-settings:"tnum";margin-bottom:8px}.cd-kpi-lbl{font-size:12px;font-weight:700;font-family:var(--font-sans);color:var(--fg);margin-bottom:2px}.cd-kpi-hint{font-size:11px;color:var(--fg-muted);line-height:1.4}.cd-foot{margin-top:28px;padding-top:18px;border-top:1px solid var(--border-subtle);display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border:1px solid var(--border);background:var(--bg);color:var(--fg)}.tag-red{color:var(--epfl-red);border-color:var(--epfl-red)}.tag-canard{color:var(--epfl-canard);border-color:var(--epfl-canard)}@media(max-width:900px){.cd-twocol{grid-template-columns:1fr}.cd-carousel-body{flex-direction:column}.cd-chart-wrap{border-right:0;border-bottom:1px solid var(--border-subtle)}.cd-chart-wrap:last-child{border-bottom:0}.cd-kpi-grid{grid-template-columns:1fr}.drawer-head{padding:18px 20px 14px}.drawer-body{padding:18px 20px 60px}}.ftr{background:var(--epfl-black);color:#fff;padding:56px 64px 24px}.ftr-top{display:grid;grid-template-columns:220px repeat(4,1fr);gap:48px}.ftr-logo img{height:32px;filter:brightness(0) invert(1)}.ftr-tagline{color:#c1c1c1;font-size:13px;line-height:1.55;margin-top:14px}.ftr-col h6{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#fff;font-weight:700;margin:0 0 14px}.ftr-col a{display:block;color:#c1c1c1;font-size:13px;text-decoration:none;padding:4px 0;cursor:pointer}.ftr-col a:hover{color:#fff}.ftr-bot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid #444;font-size:12px;color:#8e8e8e}.ftr-bot a{color:#c1c1c1;text-decoration:none}.feather{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(min-width:768px)and (max-width:1599px){.hero{grid-template-columns:minmax(420px,48%) 1fr}.hero-text{padding:40px 40px 40px 48px}.hero-title{font-size:36px}}@media(max-width:1280px){.keynums,.cat-grid{grid-template-columns:repeat(2,1fr)}.split-7-5{grid-template-columns:1fr}.ftr-top{grid-template-columns:1fr 1fr}}@media(max-width:767px){.section{padding:40px 20px}.hero{grid-template-columns:1fr}.hero-text{margin:0;padding:40px 20px}.hero-title{font-size:32px}.hero-img{margin-left:0;min-height:280px}.keynums,.cat-grid,.split-2{grid-template-columns:1fr}.logos{padding:32px 20px}.ftr{padding:40px 20px 20px}.ftr-top{grid-template-columns:1fr;gap:28px}.dash-head{padding:20px 16px 16px}.dash-title{font-size:28px}.dash-active-filters{padding:10px 16px}.dash-table{padding:0 8px 16px}.chart-cell{flex-basis:100%!important;min-width:0!important;border-right:0;border-bottom:1px solid var(--border-subtle)}}.home-split,.dash-split,.dash-col-main,.dash-col-side{display:contents}@media(min-width:2100px){.home-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"hero     hero" "kpis     kpis" "data     maphead" "data     map" "data     tools" "gallery  gallery" "partners partners";align-content:start}.home-split>*{min-width:0}.hp-hero{grid-area:hero}.hp-kpis{grid-area:kpis}.hp-data{grid-area:data;border-right:1px solid var(--border)}.hp-gallery{grid-area:gallery;border-top:1px solid var(--border)}.home-split .section{padding:32px 48px}.home-split .hp-data{display:flex;flex-direction:column}.home-split .cat-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:1fr;gap:16px}.home-split .cat-tile{min-height:0;padding:18px 20px 16px}.home-split .cat-tile-desc{display:none}.home-split .cat-tile-desc-long{display:block}.home-split .hp-data .section-head{margin-bottom:16px}.home-split .hp-data .section-sub{display:none}.hp-reach,.hp-reach .split-7-5{display:contents}.hp-reach>.section-head{grid-area:maphead;align-self:start;padding:32px 48px 12px}.hp-reach .map-frame{grid-area:map;margin:0 48px 32px;min-height:clamp(380px,42vh,700px)}.hp-reach .tools-panel{grid-area:tools;margin:0 48px 32px;align-self:start}.hp-partners{grid-area:partners}.dash-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.85fr);flex:1}.dash-col-main{display:flex;flex-direction:column;min-width:0;height:100vh}.dash-col-main .dash-table-full{flex:1;min-height:0;display:flex;flex-direction:column}.dash-col-side{display:block;min-width:0;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;border-left:1px solid var(--border)}.dash-col-side .chart-cell{min-height:clamp(260px,30vh,380px)}.dash-col-side .charts-strip:last-child{border-bottom:0}}@media(min-width:2400px){.home-split{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"hero     hero     hero" "kpis     kpis     kpis" "data     maphead  tools" "data     map      tools" "gallery  gallery  gallery" "partners partners partners"}.hp-reach .tools-panel{margin-top:32px}.home-split .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto}.home-split .cat-tile-desc{display:block}.home-split .cat-tile-desc-long{display:none}}.tools-panel{display:flex;flex-direction:column}.tools-panel-copy{margin-top:24px}.tools-panel-eyebrow{margin-bottom:10px}.tools-panel-blurb{margin:0 0 16px;color:var(--fg-muted);font-size:14px;line-height:1.5}.tools-panel-links{display:flex;gap:8px;flex-wrap:wrap}:root{--chart-yellow-darker: #fff381;--chart-yellow-dark: #fffa9c;--chart-yellow: #fffeba;--chart-yellow-light: #ffffd4;--chart-yellow-lighter: #ffffe8;--chart-peach-darker: #fdd279;--chart-peach-dark: #ffdf96;--chart-peach: #ffebb5;--chart-peach-light: #fff4d4;--chart-peach-lighter: #fffbe8;--chart-apricot-darker: #fabf75;--chart-apricot-dark: #ffd093;--chart-apricot: #ffe0b3;--chart-apricot-light: #ffe8c4;--chart-apricot-lighter: #fff0d5;--chart-lavender-darker: #a69ccc;--chart-lavender-dark: #bbb3db;--chart-lavender: #d1cbe8;--chart-lavender-light: #e6d9f4;--chart-lavender-lighter: #f2e6f2;--chart-mauve-darker: #bba3ce;--chart-mauve-dark: #c8b5d8;--chart-mauve: #d5c7e2;--chart-mauve-light: #e2d9ec;--chart-mauve-lighter: #ede8f2;--chart-lilac-darker: #d0a9cf;--chart-lilac-dark: #ddbddc;--chart-lilac: #e9d2e9;--chart-lilac-light: #f0dcf0;--chart-lilac-lighter: #f5e6f5;--chart-plum-darker: #c19acd;--chart-plum-dark: #cfb0da;--chart-plum: #ddc6e6;--chart-plum-light: #eadcf1;--chart-plum-lighter: #f3ecf7;--chart-cobalt-darker: #b0b7de;--chart-cobalt-dark: #c5cae9;--chart-cobalt: #d4d9ec;--chart-cobalt-light: #dee3ef;--chart-cobalt-lighter: #ebeff9;--chart-periwinkle-darker: #a5add8;--chart-periwinkle-dark: #bac0e4;--chart-periwinkle: #cfd4ee;--chart-periwinkle-light: #d9dee9;--chart-periwinkle-lighter: #e3e8f4;--chart-sky-darker: #a4bce3;--chart-sky-dark: #b8ccec;--chart-sky: #ceddf4;--chart-sky-light: #d9e8f8;--chart-sky-lighter: #e5f2fc;--chart-baby-darker: #a2cbed;--chart-baby-dark: #b6d8f4;--chart-baby: #cde5fa;--chart-baby-light: #d9e8f8;--chart-baby-lighter: #e5f2fc;--chart-aqua-darker: #a1d9f7;--chart-aqua-dark: #b5e4fc;--chart-aqua: #cde5fa;--chart-aqua-light: #d9edfc;--chart-aqua-lighter: #e5f5fe;--chart-mint-darker: #a4d6d5;--chart-mint-dark: #b9e2e1;--chart-mint: #cfedec;--chart-mint-light: #d9f2f1;--chart-mint-lighter: #e6f7f6;--chart-green-darker: #a8d3ae;--chart-green-dark: #bce0c1;--chart-green: #d1ebd5;--chart-green-light: #e6f5ea;--chart-green-lighter: #f2fbf2;--chart-yellowgreen-darker: #abcf84;--chart-yellowgreen-dark: #c0dea0;--chart-yellowgreen: #d5ebbe;--chart-yellowgreen-light: #e5f2d4;--chart-yellowgreen-lighter: #f0f8ea;--chart-lightlavender-darker: #c0a9d8;--chart-lightlavender-dark: #d3bde4;--chart-lightlavender: #e6d1ee;--chart-lightlavender-light: #f0d9f4;--chart-lightlavender-lighter: #f5e6f5;--chart-cat-process-emissions: var(--chart-peach-darker);--chart-cat-buildings-energy-combustion: var(--chart-apricot-darker);--chart-cat-buildings-room: var(--chart-lilac-darker);--chart-cat-equipment: var(--chart-plum-darker);--chart-cat-external-cloud-and-ai: var(--chart-lavender-darker);--chart-cat-purchases: var(--chart-green-darker);--chart-cat-research-facilities: var(--chart-yellowgreen-darker);--chart-cat-professional-travel: var(--chart-baby-darker);--chart-cat-commuting: var(--chart-aqua-darker);--chart-cat-food: var(--chart-mint-darker);--chart-cat-waste: var(--chart-periwinkle-darker);--chart-cat-embodied-energy: var(--chart-sky-darker)}.colorblind{--chart-yellow-darker: #d4a017;--chart-yellow-dark: #e5b84f;--chart-yellow: #f5d882;--chart-yellow-light: #fae8b0;--chart-yellow-lighter: #fdf5d9;--chart-peach-darker: #d97b2e;--chart-peach-dark: #e89b5c;--chart-peach: #f5b97e;--chart-peach-light: #f9d4ab;--chart-peach-lighter: #fce9d3;--chart-apricot-darker: #c97a3e;--chart-apricot-dark: #dc9b66;--chart-apricot: #edb88e;--chart-apricot-light: #f4d3b5;--chart-apricot-lighter: #fae9d9;--chart-lavender-darker: #5b7fc7;--chart-lavender-dark: #7a9dd6;--chart-lavender: #9abbe5;--chart-lavender-light: #bdd5f0;--chart-lavender-lighter: #dde9f8;--chart-mauve-darker: #7091cc;--chart-mauve-dark: #8fadd9;--chart-mauve: #adc7e6;--chart-mauve-light: #cbddf2;--chart-mauve-lighter: #e5eef9;--chart-lilac-darker: #8aa3d1;--chart-lilac-dark: #a5bbde;--chart-lilac: #c0d3eb;--chart-lilac-light: #d9e5f4;--chart-lilac-lighter: #edf3fa;--chart-plum-darker: #6385c6;--chart-plum-dark: #7fa0d6;--chart-plum: #9fbbe6;--chart-plum-light: #c1d4f2;--chart-plum-lighter: #e0ebf9;--chart-cobalt-darker: #5a89c2;--chart-cobalt-dark: #7aa4d6;--chart-cobalt: #9dc1e7;--chart-cobalt-light: #c2dbf2;--chart-cobalt-lighter: #e4f1fb;--chart-periwinkle-darker: #4a7bb8;--chart-periwinkle-dark: #6996cc;--chart-periwinkle: #8ab2e0;--chart-periwinkle-light: #afcfed;--chart-periwinkle-lighter: #d4e6f6;--chart-sky-darker: #3d8fc9;--chart-sky-dark: #5fa8d9;--chart-sky: #82c2e8;--chart-sky-light: #acdaf2;--chart-sky-lighter: #d4edf9;--chart-baby-darker: #2ba3d4;--chart-baby-dark: #52bce3;--chart-baby: #7ad3f0;--chart-baby-light: #a8e4f6;--chart-baby-lighter: #d1f2fb;--chart-aqua-darker: #00a3b8;--chart-aqua-dark: #2dbdd0;--chart-aqua: #5dd6e6;--chart-aqua-light: #91e6f0;--chart-aqua-lighter: #c5f3f8;--chart-mint-darker: #00a896;--chart-mint-dark: #2dc2b3;--chart-mint: #5dd9cf;--chart-mint-light: #91e9e0;--chart-mint-lighter: #c5f4f0;--chart-green-darker: #3d9970;--chart-green-dark: #5fb591;--chart-green: #82d1b2;--chart-green-light: #ace3d0;--chart-green-lighter: #d4f1e8;--chart-yellowgreen-darker: #7aa832;--chart-yellowgreen-dark: #9ac156;--chart-yellowgreen: #b9d97e;--chart-yellowgreen-light: #d1e8a8;--chart-yellowgreen-lighter: #e8f4d1;--chart-lightlavender-darker: #6b8acc;--chart-lightlavender-dark: #8aa5db;--chart-lightlavender: #aac0ea;--chart-lightlavender-light: #ccdcf3;--chart-lightlavender-lighter: #e6eef9}:root{--epfl-red: #e30713;--epfl-red-dark: #b51f1f;--epfl-leman: #00a79f;--epfl-canard: #007480;--epfl-canard-dark: #004248;--epfl-white: #ffffff;--epfl-gray-100: #e6e6e6;--epfl-gray-150: #cfcfcf;--epfl-gray-200: #d5d5d5;--epfl-gray-300: #c1c1c1;--epfl-gray-500: #8e8e8e;--epfl-gray-600: #707070;--epfl-black: #212121;--epfl-control-fill: #3d3d3d;--epfl-control-outline: #a6a6a6;--epfl-blue: #4a90e2;--epfl-orange: #f5a623;--epfl-green: #7ed321;--epfl-green-text: #699b32;--bg: var(--epfl-white);--bg-app: #fcfcfc;--bg-muted: var(--epfl-gray-100);--bg-subtle: #f5f5f5;--bg-dark: var(--epfl-black);--bg-overlay: rgba(33, 33, 33, .5);--fg: var(--epfl-black);--fg-muted: var(--epfl-gray-600);--fg-subtle: var(--epfl-gray-500);--fg-disabled: var(--epfl-gray-300);--fg-inverse: var(--epfl-white);--border: var(--epfl-gray-200);--border-strong: var(--epfl-gray-500);--border-subtle: var(--epfl-gray-100);--border-hairline: rgba(33, 33, 33, .1);--table-gridline: #ededed;--table-gridline-strong: var(--epfl-gray-100);--table-row-stripe: #fafafa;--primary: var(--epfl-red);--primary-hover: var(--epfl-red-dark);--on-primary: var(--epfl-white);--tertiary: var(--epfl-canard);--tertiary-hover: var(--epfl-canard-dark);--on-tertiary: var(--epfl-white);--link: var(--epfl-black);--link-hover: var(--epfl-red);--font-sans: "Suisse Int'l", "SuisseIntl", "Suisse Intl", Arial, "Helvetica Neue", Helvetica, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;--fs-h1: 3rem;--fs-h2: 2.375rem;--fs-h3: 1.75rem;--fs-h4: 1.5rem;--fs-h5: 1.25rem;--fs-h6: 1.125rem;--fs-lead: 1.125rem;--fs-body: 1rem;--fs-sm: .875rem;--fs-xs: .75rem;--w-light: 300;--w-normal: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--lh-tight: 1.1;--lh-snug: 1.2;--lh-normal: 1.35;--lh-relaxed: 1.5;--title-page-size: var(--fs-h2);--title-page-weight: var(--w-normal);--title-page-lh: var(--lh-snug);--title-page-tracking: -.01em;--title-card-size: .9375rem;--title-card-weight: var(--w-semibold);--title-card-tracking: -.005em;--title-panel-size: var(--fs-xs);--title-panel-weight: var(--w-bold);--title-panel-tracking: .06em;--title-eyebrow-size: .6875rem;--title-eyebrow-weight: var(--w-normal);--title-eyebrow-tracking: .08em;--title-eyebrow-font: var(--font-sans);--title-subhead-size: var(--fs-xs);--title-subhead-weight: var(--w-bold);--title-subhead-tracking: .02em;--radius: 0;--radius-lg: 0;--radius-sm: 0;--shadow-sm: 0 1px 2px rgba(33, 33, 33, .075);--shadow: 0 .5rem 1rem rgba(33, 33, 33, .175);--shadow-lg: 0 1rem 2rem rgba(33, 33, 33, .2);--focus-ring: 0 0 0 .2rem rgba(227, 7, 19, .25);--t-fast: .15s ease-in-out;--t-base: .2s ease-in-out}body.theme-dark{--bg: #0e0e10;--bg-app: #0b0b0d;--bg-muted: #1a1a1d;--bg-subtle: #141417;--fg: #f5f5f5;--fg-muted: #a8a8ac;--fg-subtle: #6e6e73;--border: #2a2a2e;--border-subtle: #1f1f22;--border-strong: #3a3a40;--table-gridline: #1f1f22;--table-gridline-strong: #2a2a2e;--table-row-stripe: #121215;--link: #f5f5f5}@font-face{font-family:"Suisse Int'l";src:url(/fonts/SuisseIntl-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"Suisse Int'l";src:url(/fonts/SuisseIntl-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Suisse Int'l";src:url(/fonts/SuisseIntl-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Suisse Int'l";src:url(/fonts/SuisseIntl-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Suisse Int'l";src:url(/fonts/SuisseIntl-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}.tool-page{--rail-w: 340px;--pad: 32px;--topbar-h: 56px;--card-pad: 14px;--card-head-gap: 10px;--field-gap: 16px;--rail-pad: 14px;--rail-gap: 12px;--group-gap: 14px;--group-head-gap: 9px;--tsl-head-gap: 2px;--tsl-track-h: 16px;--tsl-thumb: 12px;--tsl-ends-gap: -1px;--tsl-label-size: 12.5px;--tsl-val-size: 12px;--tsl-ends-size: 9px;background:var(--bg);min-height:calc(100vh - var(--topbar-h))}.tool-body{display:grid;grid-template-columns:var(--rail-w) 1fr;align-items:start}.tool-page .rail{position:sticky;top:0;align-self:stretch;max-height:100vh;overflow-y:auto;border-right:1px solid var(--border);background:var(--bg);padding:var(--rail-pad);display:flex;flex-direction:column;gap:var(--rail-gap)}.tool-page .stage{min-width:0;background:var(--bg-app);display:flex;flex-direction:column}.tool-page .st-block{padding:20px var(--pad);min-width:0}.tool-page .st-block+.st-block{border-top:1px solid var(--border)}.tool-page .st-chart{display:flex;flex-direction:column;gap:12px}.tool-page .chart-cap{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.tool-page .chart-cap-t{min-width:0}.tool-page .chart-h{font-size:var(--title-card-size);font-weight:var(--title-card-weight);letter-spacing:var(--title-card-tracking);margin:0;color:var(--fg)}.tool-page .chart-sub{font-family:var(--font-sans);font-size:10.5px;color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.06em;margin:3px 0 0}.tool-page .tchart{border:1px solid var(--border);background:var(--bg);min-height:0}.tool-page .h-chart{height:clamp(300px,44vh,460px)}.tool-page .h-surface{height:clamp(300px,42vh,400px)}.tool-page .h-mini{height:clamp(240px,30vh,320px)}.tool-page .st-charts-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:999px){.tool-page .st-charts-2{grid-template-columns:1fr}}.tool-page .st-surfaces{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:699px){.tool-page .st-surfaces{grid-template-columns:1fr}}.tool-page .curve-row{display:flex;gap:20px;align-items:stretch;min-height:0}.tool-page .curve-row .tchart{flex:1 1 auto;min-width:0}.tool-page .curve-row>:last-child{flex:0 0 auto}@media(max-width:899px){.tool-page .curve-row{flex-direction:column}}.tool-page .st-table .v-table,.tool-page .st-table table{background:transparent;width:100%}.tool-page .st-schem{padding-bottom:26px}.tool-page .tool-schematic{margin:0;border:1px solid var(--border);background:var(--bg-subtle)}.tool-page .tool-schematic img{display:block;width:100%;height:auto}.tool-page .tool-schematic.is-small img{max-height:220px;object-fit:contain;margin:0 auto}.tool-page .st-schem .tool-schematic img{max-height:clamp(240px,40vh,420px);object-fit:contain;margin:0 auto}.tool-page .tool-schematic figcaption{font-size:11px;color:var(--fg-muted);padding:10px 14px;line-height:1.4;border-top:1px solid var(--border)}.tool-page .mat-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tool-page .frag-thumbs{grid-template-columns:1fr 1fr}.tool-page .mat-thumb{border:1px solid var(--border);background:var(--bg);padding:8px 10px 10px;cursor:pointer;text-align:left;font-family:inherit;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.tool-page .mat-thumb:hover{border-color:var(--fg)}.tool-page .mat-thumb.is-active{border-color:var(--fg);box-shadow:inset 0 -3px 0 var(--epfl-red)}.tool-page .mat-thumb-chart{pointer-events:none}.tool-page .mat-thumb-label{display:block;font-size:11px;font-weight:600;color:var(--fg);margin-top:4px}.tool-page .mat-thumb-meta{display:block;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle);margin-top:2px}.tool-page .tool-card{border:1px solid var(--border);background:var(--bg);padding:var(--card-pad)}.tool-page .tool-card-h{font-size:var(--title-panel-size);font-weight:var(--title-panel-weight);text-transform:uppercase;letter-spacing:var(--title-panel-tracking);color:var(--fg);padding-bottom:calc(var(--card-head-gap) - 2px);margin-bottom:var(--card-head-gap);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:8px}.tool-page .tool-card-h.with-info{justify-content:space-between}.tool-page .tfield{margin-bottom:var(--field-gap)}.tool-page .tfield:last-child{margin-bottom:0}.tool-page .tfield-label{font-size:var(--title-panel-size);text-transform:uppercase;letter-spacing:var(--title-panel-tracking);color:var(--fg);font-weight:var(--title-panel-weight);margin-bottom:6px}.tool-page .tfield-ratio{display:flex;align-items:center;justify-content:space-between;margin:var(--field-gap) calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad));padding:10px var(--card-pad);background:var(--epfl-control-fill);color:var(--fg-inverse);font-size:13px;font-style:italic}.tool-page .tfield-ratio span{opacity:.85}.tool-page .tfield-ratio strong{font-family:var(--font-sans);font-size:18px;color:var(--fg-inverse);font-weight:600;font-style:normal;font-feature-settings:"tnum"}.tool-page .tool-param-group{margin-bottom:var(--group-gap)}.tool-page .tool-param-group:last-child{margin-bottom:0}.tool-page .tool-param-group-h{font-size:var(--title-panel-size);text-transform:uppercase;letter-spacing:var(--title-panel-tracking);color:var(--fg);font-weight:var(--title-panel-weight);margin-bottom:var(--group-head-gap);padding-bottom:5px;border-bottom:1px solid var(--border-subtle)}.tool-page .tool-param-group .tslider{margin-bottom:var(--field-gap)}.tool-page .tool-param-group .tslider:last-child{margin-bottom:0}.tool-page .mat-a-groups{margin-top:var(--group-gap);padding-top:calc(var(--group-gap) - 2px);border-top:1px solid var(--border-subtle)}.tool-page .rail .tool-schematic.is-small{padding:4px}.tool-page.has-parambar .tool-body{grid-template-columns:1fr;display:block}.tool-page .e-body{display:flex;flex-direction:column}.tool-page .e-parambar{position:sticky;top:0;z-index:4;border-bottom:1px solid var(--border);background:var(--bg);padding:14px var(--pad);display:flex;align-items:flex-end;gap:32px;flex-wrap:wrap}.tool-page .e-parambar .pb-group{display:flex;flex-direction:column;gap:9px;min-width:230px}.tool-page .e-parambar .pb-group.pb-seg{min-width:220px}.tool-page .e-parambar .pb-lbl{font-size:var(--title-panel-size);letter-spacing:var(--title-panel-tracking);text-transform:uppercase;color:var(--fg);font-weight:var(--title-panel-weight)}.tool-page .e-results{padding:20px var(--pad);display:flex;flex-direction:column;gap:22px}.tool-page .tool-params-trigger{display:none}.tool-page .drawer-close{display:none;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:2}.tool-page .drawer-close .dt{font-size:var(--title-panel-size);letter-spacing:var(--title-panel-tracking);text-transform:uppercase;font-weight:var(--title-panel-weight)}.tool-page .drawer-close .x{width:28px;height:28px;border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);cursor:pointer;font-size:14px;line-height:1}.tool-page .tool-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1020;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.tool-page.params-open .tool-scrim{opacity:1;pointer-events:auto}@media(min-height:800px){.tool-page{--card-pad: 17px;--card-head-gap: 12px;--field-gap: 17px;--rail-pad: 16px;--rail-gap: 14px;--group-gap: 18px;--group-head-gap: 11px;--tsl-head-gap: 4px;--tsl-track-h: 19px;--tsl-thumb: 13px;--tsl-ends-gap: 0px;--tsl-label-size: 13.5px;--tsl-val-size: 12.5px;--tsl-ends-size: 9.5px}}@media(min-height:1000px){.tool-page{--card-pad: 20px;--card-head-gap: 14px;--field-gap: 18px;--rail-pad: 18px;--rail-gap: 16px;--group-gap: 22px;--group-head-gap: 14px;--tsl-head-gap: 7px;--tsl-track-h: 22px;--tsl-thumb: 14px;--tsl-ends-gap: 2px;--tsl-label-size: 14px;--tsl-val-size: 13px;--tsl-ends-size: 10px}}@media(min-width:1600px){.tool-page{--rail-w: 400px;--pad: 48px}}@media(max-width:1199px){.tool-page{--rail-w: 300px;--pad: 26px}}@media(max-width:1023px){.tool-page .rail{top:var(--topbar-h);height:calc(100vh - var(--topbar-h))}.tool-page .e-parambar{top:var(--topbar-h)}}@media(max-width:899px){.tool-body{grid-template-columns:1fr;display:block}.tool-page .tool-params-trigger{display:inline-flex;align-items:center;gap:8px;margin:12px var(--pad) 0;font-family:var(--font-sans);font-size:12.5px;font-weight:600;padding:8px 14px;border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);cursor:pointer}.tool-page .tool-params-trigger .ct{font-family:var(--font-sans);font-size:10px;color:var(--fg-inverse);background:var(--epfl-red);padding:1px 6px}.tool-page .rail{position:fixed;top:0;right:0;bottom:0;left:auto;height:auto;width:min(380px,90vw);z-index:1021;transform:translate(100%);transition:transform .2s ease;border-right:0;border-left:2px solid var(--epfl-red);padding:0 0 18px;gap:0}.tool-page.params-open .rail{transform:none}.tool-page .rail>.tool-card,.tool-page .rail>.tool-schematic,.tool-page .rail>figure{margin:16px 16px 0}.tool-page .drawer-close{display:flex}.tool-page .e-parambar{padding:12px 16px;gap:18px}.tool-page .e-parambar .pb-group{min-width:150px;flex:1 1 150px}.tool-page .e-parambar .pb-group.pb-seg{flex:1 1 100%}}@media(max-width:559px){.tool-page{--pad: 16px}.tool-page .h-chart{height:clamp(260px,42vh,360px)}.tool-page .h-surface{height:clamp(240px,38vh,320px)}.tool-page .mat-thumbs{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.tool-page *{transition:none!important}}@media(min-width:2100px){.tool-page{--rail-w: 640px}.tool-page .rail{display:grid;grid-template-columns:1fr 1fr;align-content:start}.tool-page .rail>.drawer-close+.tool-card:last-child{grid-column:1 / -1}.tool-page .rail>.drawer-close+.tool-card:last-child .mat-a-groups{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px}.tool-page .stage:not(.e-body){display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-content:start}.tool-page .stage:not(.e-body)>.st-block{grid-column:1;border-top:0}.tool-page .stage:not(.e-body)>.st-table,.tool-page .stage:not(.e-body)>.st-schem{grid-column:2;border-left:1px solid var(--border)}.tool-page .stage:not(.e-body)>.st-table~.st-schem{border-top:1px solid var(--border)}.tool-page .stage:not(.e-body) .st-schem .tool-schematic img{max-height:clamp(200px,30vh,360px)}.tool-page .st-schem .tool-schematic:has(img+img){display:grid;grid-template-columns:1fr 1fr;align-items:center}.tool-page .st-schem .tool-schematic:has(img+img) figcaption{grid-column:1 / -1}.tool-page .stage-d{grid-template-columns:minmax(0,1fr)}.tool-page .stage-d>.st-chart{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-areas:"cap cap" "chart thumbs";column-gap:24px}.tool-page .stage-d>.st-chart>.chart-cap{grid-area:cap}.tool-page .stage-d>.st-chart>.tchart{grid-area:chart}.tool-page .stage-d>.st-chart>.mat-thumbs{grid-area:thumbs;align-content:start}.tool-page .stage-d .mat-thumbs{grid-template-columns:1fr 1fr}.tool-page .stage-d .frag-thumbs{grid-template-columns:1fr}.tool-page .e-results{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-content:start}.tool-page .e-results>.st-chart{grid-column:1;grid-row:1 / span 2}.tool-page .e-results>.e-surfaces-head{grid-column:2;grid-row:1}.tool-page .e-results>.st-surfaces{grid-column:2;grid-row:2}}@keyframes v-shake{59%{margin-left:0}60%,80%{margin-left:2px}70%,90%{margin-left:-2px}}/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,:before,:after{background-repeat:no-repeat;box-sizing:inherit}:before,:after{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit],[role=button]{cursor:pointer;color:inherit}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}::-ms-clear,::-ms-reveal{display:none}img{border-style:none}progress{vertical-align:baseline}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}@media(prefers-reduced-motion:no-preference){.dialog-transition-enter-active,.dialog-bottom-transition-enter-active,.dialog-top-transition-enter-active{transition-duration:225ms!important;transition-timing-function:cubic-bezier(0,0,.2,1)!important}.dialog-transition-leave-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-leave-active{transition-duration:125ms!important;transition-timing-function:cubic-bezier(.4,0,1,1)!important}.dialog-transition-enter-active,.dialog-transition-leave-active,.dialog-bottom-transition-enter-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-enter-active,.dialog-top-transition-leave-active{transition-property:transform,opacity!important;pointer-events:none}.dialog-transition-enter-from,.dialog-transition-leave-to{transform:scale(.9);opacity:0}.dialog-transition-enter-to,.dialog-transition-leave-from{opacity:1}.dialog-bottom-transition-enter-from,.dialog-bottom-transition-leave-to{transform:translateY(calc(50vh + 50%))}.dialog-top-transition-enter-from,.dialog-top-transition-leave-to{transform:translateY(calc(-50vh - 50%))}.picker-transition-enter-active,.picker-reverse-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move,.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from,.picker-transition-leave-to,.picker-reverse-transition-enter-from,.picker-reverse-transition-leave-to{opacity:0}.picker-transition-leave-from,.picker-transition-leave-active,.picker-transition-leave-to,.picker-reverse-transition-leave-from,.picker-reverse-transition-leave-active,.picker-reverse-transition-leave-to{position:absolute!important}.picker-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-property:transform,opacity!important}.picker-transition-enter-active,.picker-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from{transform:translate(100%)}.picker-transition-leave-to{transform:translate(-100%)}.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-enter-from{transform:translate(-100%)}.picker-reverse-transition-leave-to{transform:translate(100%)}.expand-transition-enter-active,.expand-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-enter-active,.expand-transition-leave-active{transition-property:height!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-property:width!important}.expand-both-transition-enter-active,.expand-both-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-both-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-both-transition-enter-active,.expand-both-transition-leave-active{transition-property:height,width!important}.scale-transition-enter-active,.scale-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-leave-to{opacity:0}.scale-transition-leave-active{transition-duration:.1s!important}.scale-transition-enter-from{opacity:0;transform:scale(0)}.scale-transition-enter-active,.scale-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-leave-to{opacity:0}.scale-rotate-transition-leave-active{transition-duration:.1s!important}.scale-rotate-transition-enter-from{opacity:0;transform:scale(0) rotate(-45deg)}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-leave-to{opacity:0}.scale-rotate-reverse-transition-leave-active{transition-duration:.1s!important}.scale-rotate-reverse-transition-enter-from{opacity:0;transform:scale(0) rotate(45deg)}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-property:transform,opacity!important}.message-transition-enter-active,.message-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-enter-from,.message-transition-leave-to{opacity:0;transform:translateY(-15px)}.message-transition-leave-from,.message-transition-leave-active{position:absolute}.message-transition-enter-active,.message-transition-leave-active{transition-property:transform,opacity!important}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-enter-from,.slide-y-transition-leave-to{opacity:0;transform:translateY(-15px)}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-property:transform,opacity!important}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-enter-from,.slide-y-reverse-transition-leave-to{opacity:0;transform:translateY(15px)}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-enter-from,.scroll-y-transition-leave-to{opacity:0}.scroll-y-transition-enter-from{transform:translateY(-15px)}.scroll-y-transition-leave-to{transform:translateY(15px)}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-enter-from,.scroll-y-reverse-transition-leave-to{opacity:0}.scroll-y-reverse-transition-enter-from{transform:translateY(15px)}.scroll-y-reverse-transition-leave-to{transform:translateY(-15px)}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-enter-from,.scroll-x-transition-leave-to{opacity:0}.scroll-x-transition-enter-from{transform:translate(-15px)}.scroll-x-transition-leave-to{transform:translate(15px)}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-enter-from,.scroll-x-reverse-transition-leave-to{opacity:0}.scroll-x-reverse-transition-enter-from{transform:translate(15px)}.scroll-x-reverse-transition-leave-to{transform:translate(-15px)}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-enter-from,.slide-x-transition-leave-to{opacity:0;transform:translate(-15px)}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-property:transform,opacity!important}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-enter-from,.slide-x-reverse-transition-leave-to{opacity:0;transform:translate(15px)}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-enter-from,.fade-transition-leave-to{opacity:0!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-property:opacity!important}.fab-transition-enter-active,.fab-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-enter-from,.fab-transition-leave-to{transform:scale(0) rotate(-45deg)}.fab-transition-enter-active,.fab-transition-leave-active{transition-property:transform!important}}.v-locale--is-rtl{direction:rtl}.v-locale--is-ltr{direction:ltr}.blockquote{padding:16px 0 16px 24px;font-size:18px;font-weight:300}html{font-family:Roboto,sans-serif;line-height:1.5;font-size:1rem;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0)}html.overflow-y-hidden{overflow-y:hidden!important}:root{--v-theme-overlay-multiplier: 1;--v-scrollbar-offset: 0px}@supports (-webkit-touch-callout: none){body{cursor:pointer}}@media only print{.hidden-print-only{display:none!important}}@media only screen{.hidden-screen-only{display:none!important}}@media(max-width:599.98px){.hidden-xs{display:none!important}}@media(min-width:600px)and (max-width:959.98px){.hidden-sm{display:none!important}}@media(min-width:960px)and (max-width:1279.98px){.hidden-md{display:none!important}}@media(min-width:1280px)and (max-width:1919.98px){.hidden-lg{display:none!important}}@media(min-width:1920px)and (max-width:2559.98px){.hidden-xl{display:none!important}}@media(min-width:2560px){.hidden-xxl{display:none!important}}@media(min-width:600px){.hidden-sm-and-up{display:none!important}}@media(min-width:960px){.hidden-md-and-up{display:none!important}}@media(min-width:1280px){.hidden-lg-and-up{display:none!important}}@media(min-width:1920px){.hidden-xl-and-up{display:none!important}}@media(max-width:959.98px){.hidden-sm-and-down{display:none!important}}@media(max-width:1279.98px){.hidden-md-and-down{display:none!important}}@media(max-width:1919.98px){.hidden-lg-and-down{display:none!important}}@media(max-width:2559.98px){.hidden-xl-and-down{display:none!important}}.elevation-24{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-23{box-shadow:0 11px 14px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 23px 36px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 44px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-22{box-shadow:0 10px 14px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 22px 35px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 42px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-21{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 21px 33px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 40px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-20{box-shadow:0 10px 13px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 20px 31px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 8px 38px 7px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-19{box-shadow:0 9px 12px -6px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 19px 29px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 36px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-18{box-shadow:0 9px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 18px 28px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 7px 34px 6px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-17{box-shadow:0 8px 11px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 17px 26px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 32px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-16{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-15{box-shadow:0 8px 9px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 15px 22px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 28px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-14{box-shadow:0 7px 9px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 14px 21px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 26px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-13{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 13px 19px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 24px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-12{box-shadow:0 7px 8px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 12px 17px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 5px 22px 4px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-11{box-shadow:0 6px 7px -4px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 11px 15px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 20px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-10{box-shadow:0 6px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 10px 14px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 4px 18px 3px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-9{box-shadow:0 5px 6px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 9px 12px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 16px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-8{box-shadow:0 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-7{box-shadow:0 4px 5px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 7px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 2px 16px 1px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-6{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-5{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 5px 8px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 14px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-4{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-3{box-shadow:0 3px 3px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 3px 4px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 8px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-2{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-1{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.elevation-0{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.pointer-pass-through{pointer-events:none!important}.pointer-pass-through>*{pointer-events:auto!important}.d-sr-only,.d-sr-only-focusable:not(:focus){border:0!important;clip:rect(0,0,0,0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-space-between{justify-content:space-between!important}.justify-space-around{justify-content:space-around!important}.justify-space-evenly{justify-content:space-evenly!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-baseline{align-items:baseline!important}.align-stretch{align-items:stretch!important}.ga-0{gap:0px!important}.ga-1{gap:4px!important}.ga-2{gap:8px!important}.ga-3{gap:12px!important}.ga-4{gap:16px!important}.ga-5{gap:20px!important}.ga-6{gap:24px!important}.ga-7{gap:28px!important}.ga-8{gap:32px!important}.ga-9{gap:36px!important}.ga-10{gap:40px!important}.ga-11{gap:44px!important}.ga-12{gap:48px!important}.ga-13{gap:52px!important}.ga-14{gap:56px!important}.ga-15{gap:60px!important}.ga-16{gap:64px!important}.ga-auto{gap:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.mx-3{margin-right:12px!important;margin-left:12px!important}.mx-4{margin-right:16px!important;margin-left:16px!important}.mx-5{margin-right:20px!important;margin-left:20px!important}.mx-6{margin-right:24px!important;margin-left:24px!important}.mx-7{margin-right:28px!important;margin-left:28px!important}.mx-8{margin-right:32px!important;margin-left:32px!important}.mx-9{margin-right:36px!important;margin-left:36px!important}.mx-10{margin-right:40px!important;margin-left:40px!important}.mx-11{margin-right:44px!important;margin-left:44px!important}.mx-12{margin-right:48px!important;margin-left:48px!important}.mx-13{margin-right:52px!important;margin-left:52px!important}.mx-14{margin-right:56px!important;margin-left:56px!important}.mx-15{margin-right:60px!important;margin-left:60px!important}.mx-16{margin-right:64px!important;margin-left:64px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.my-5{margin-top:20px!important;margin-bottom:20px!important}.my-6{margin-top:24px!important;margin-bottom:24px!important}.my-7{margin-top:28px!important;margin-bottom:28px!important}.my-8{margin-top:32px!important;margin-bottom:32px!important}.my-9{margin-top:36px!important;margin-bottom:36px!important}.my-10{margin-top:40px!important;margin-bottom:40px!important}.my-11{margin-top:44px!important;margin-bottom:44px!important}.my-12{margin-top:48px!important;margin-bottom:48px!important}.my-13{margin-top:52px!important;margin-bottom:52px!important}.my-14{margin-top:56px!important;margin-bottom:56px!important}.my-15{margin-top:60px!important;margin-bottom:60px!important}.my-16{margin-top:64px!important;margin-bottom:64px!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mt-6{margin-top:24px!important}.mt-7{margin-top:28px!important}.mt-8{margin-top:32px!important}.mt-9{margin-top:36px!important}.mt-10{margin-top:40px!important}.mt-11{margin-top:44px!important}.mt-12{margin-top:48px!important}.mt-13{margin-top:52px!important}.mt-14{margin-top:56px!important}.mt-15{margin-top:60px!important}.mt-16{margin-top:64px!important}.mt-auto{margin-top:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.mb-6{margin-bottom:24px!important}.mb-7{margin-bottom:28px!important}.mb-8{margin-bottom:32px!important}.mb-9{margin-bottom:36px!important}.mb-10{margin-bottom:40px!important}.mb-11{margin-bottom:44px!important}.mb-12{margin-bottom:48px!important}.mb-13{margin-bottom:52px!important}.mb-14{margin-bottom:56px!important}.mb-15{margin-bottom:60px!important}.mb-16{margin-bottom:64px!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-5{margin-left:20px!important}.ml-6{margin-left:24px!important}.ml-7{margin-left:28px!important}.ml-8{margin-left:32px!important}.ml-9{margin-left:36px!important}.ml-10{margin-left:40px!important}.ml-11{margin-left:44px!important}.ml-12{margin-left:48px!important}.ml-13{margin-left:52px!important}.ml-14{margin-left:56px!important}.ml-15{margin-left:60px!important}.ml-16{margin-left:64px!important}.ml-auto{margin-left:auto!important}.pa-0{padding:0!important}.pa-1{padding:4px!important}.pa-2{padding:8px!important}.pa-3{padding:12px!important}.pa-4{padding:16px!important}.pa-5{padding:20px!important}.pa-6{padding:24px!important}.pa-7{padding:28px!important}.pa-8{padding:32px!important}.pa-9{padding:36px!important}.pa-10{padding:40px!important}.pa-11{padding:44px!important}.pa-12{padding:48px!important}.pa-13{padding:52px!important}.pa-14{padding:56px!important}.pa-15{padding:60px!important}.pa-16{padding:64px!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:4px!important;padding-left:4px!important}.px-2{padding-right:8px!important;padding-left:8px!important}.px-3{padding-right:12px!important;padding-left:12px!important}.px-4{padding-right:16px!important;padding-left:16px!important}.px-5{padding-right:20px!important;padding-left:20px!important}.px-6{padding-right:24px!important;padding-left:24px!important}.px-7{padding-right:28px!important;padding-left:28px!important}.px-8{padding-right:32px!important;padding-left:32px!important}.px-9{padding-right:36px!important;padding-left:36px!important}.px-10{padding-right:40px!important;padding-left:40px!important}.px-11{padding-right:44px!important;padding-left:44px!important}.px-12{padding-right:48px!important;padding-left:48px!important}.px-13{padding-right:52px!important;padding-left:52px!important}.px-14{padding-right:56px!important;padding-left:56px!important}.px-15{padding-right:60px!important;padding-left:60px!important}.px-16{padding-right:64px!important;padding-left:64px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pb-5{padding-bottom:20px!important}.pb-6{padding-bottom:24px!important}.pb-7{padding-bottom:28px!important}.pb-8{padding-bottom:32px!important}.pb-9{padding-bottom:36px!important}.pb-10{padding-bottom:40px!important}.pb-11{padding-bottom:44px!important}.pb-12{padding-bottom:48px!important}.pb-13{padding-bottom:52px!important}.pb-14{padding-bottom:56px!important}.pb-15{padding-bottom:60px!important}.pb-16{padding-bottom:64px!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-start{text-align:start!important}.text-end{text-align:end!important}.text-high-emphasis{color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))!important}.text-medium-emphasis{color:rgba(var(--v-theme-on-background),var(--v-medium-emphasis-opacity))!important}.text-disabled{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity))!important}.text-h1{font-size:6rem!important;font-weight:300;line-height:1;letter-spacing:-.015625em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h2{font-size:3.75rem!important;font-weight:300;line-height:1;letter-spacing:-.0083333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h3{font-size:3rem!important;font-weight:400;line-height:1.05;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h4{font-size:2.125rem!important;font-weight:400;line-height:1.175;letter-spacing:.0073529412em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h5{font-size:1.5rem!important;font-weight:400;line-height:1.333;letter-spacing:normal!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-h6{font-size:1.25rem!important;font-weight:500;line-height:1.6;letter-spacing:.0125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-1{font-size:1rem!important;font-weight:400;line-height:1.75;letter-spacing:.009375em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-subtitle-2{font-size:.875rem!important;font-weight:500;line-height:1.6;letter-spacing:.0071428571em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-1{font-size:1rem!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-body-2{font-size:.875rem!important;font-weight:400;line-height:1.425;letter-spacing:.0178571429em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-button{font-size:.875rem!important;font-weight:500;line-height:2.6;letter-spacing:.0892857143em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-caption{font-size:.75rem!important;font-weight:400;line-height:1.667;letter-spacing:.0333333333em!important;font-family:Roboto,sans-serif;text-transform:none!important}.text-overline{font-size:.75rem!important;font-weight:500;line-height:2.667;letter-spacing:.1666666667em!important;font-family:Roboto,sans-serif;text-transform:uppercase!important}.text-none{text-transform:none!important}.text-capitalize{text-transform:capitalize!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.font-weight-thin{font-weight:100!important}.font-weight-light{font-weight:300!important}.font-weight-regular{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-semibold{font-weight:600!important}.font-weight-bold{font-weight:700!important}.font-weight-black{font-weight:900!important}.fill-height{height:100%!important}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.pcar-frames[data-v-e2c294a7]{display:grid;grid-template-columns:repeat(var(--pcar-panes, 1),1fr);gap:16px}.pcar-frame[data-v-e2c294a7]{position:relative;aspect-ratio:3 / 2;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle)}.pcar.is-single .pcar-frame[data-v-e2c294a7]{aspect-ratio:16 / 9}.pcar-img[data-v-e2c294a7]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}.pcar-img.is-active[data-v-e2c294a7]{opacity:1}.pcar-credit[data-v-e2c294a7]{position:absolute;bottom:14px;right:18px;font-size:11px;background:#0000008c;color:#fff;padding:3px 8px;letter-spacing:.02em;z-index:1}.pcar-nav[data-v-e2c294a7]{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}.pcar-arrow[data-v-e2c294a7]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;padding:0;background:transparent;color:var(--fg-muted);cursor:pointer;transition:color var(--t-fast)}.pcar-arrow[data-v-e2c294a7]:hover{color:var(--epfl-red)}.pcar-dots[data-v-e2c294a7]{display:flex;gap:10px;justify-content:center}.pcar-dot[data-v-e2c294a7]{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--border-strong);cursor:pointer;transition:background var(--t-fast)}.pcar-dot[data-v-e2c294a7]:hover{background:var(--fg-muted)}.pcar-dot.is-active[data-v-e2c294a7]{background:var(--epfl-red)}@media(prefers-reduced-motion:reduce){.pcar-img[data-v-e2c294a7]{transition:none}}
