:root {
    --gradient: 45deg, #ff0 0%, #ff0 5%, #000 5%, #000 10%;
}





html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-size: 1em;
    line-height: 1.4;
}

*,
::before,
::after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::-moz-selection {
    background: #292929;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #292929;
    color: #fff;
    text-shadow: none;
}



article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

audio,
canvas,
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
}

[hidden] {
    display: none;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    display: inherit;
    font-size: inherit;
    font-weight: inherit;
}

a {
    color: #292929;
    cursor: pointer;
    text-decoration: none;
}
a:hover, a:active, a:focus {
    color: #292929;
}

bbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

dfn {
    font-style: italic;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cbc1b3;
    margin: 1.5em 0;
    padding: 0;
}

ins {
    background: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background: #ff0;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

pre,
code,
kbd,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

pre {
    white-space: pre-wrap;
    word-wrap: break-word;
}

q {
    quotes: none;
}

q:before,
q:after {
    content: "";
}

small {
    font-size: 85%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

dd {
    margin: 0 0 0 40px;
}

img {
    border: 0;
    -ms-interpolation-mode: bicubic;
    vertical-align: middle;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td {
    vertical-align: top;
}

form {
    margin: 0;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

label {
    cursor: pointer;
}

legend {
    border: 0;
    padding: 0;
    white-space: normal;
}

button {
    border: 0;
    padding: 0;
    background: none;
}

button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
}

button,
input {
    line-height: normal;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
    cursor: pointer;
    -webkit-appearance: button;
}

button[disabled],
input[disabled] {
    cursor: default;
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0;
}

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

input:invalid,
textarea:invalid {
    background-color: #f0dddd;
}

@media print {
    * {
        background: transparent;
        color: black;
        box-shadow: none;
        text-shadow: none;
        filter: none;
    }

    /* Black prints faster: h5bp.com/s */
    a,
a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
        content: "";
    }

    /* Don't show links for images,
    or javascript/internal links */
    pre,
blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    /* h5bp.com/t */
    tr,
img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100%;
    }

    @page {
        margin: 0.5cm;
    }
    p,
h2,
h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
h3 {
        page-break-after: avoid;
    }
}
/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

@font-face {
    font-family: "PPFormula";
    src: url(/assets/fonts/PPFormula-Light.woff2) format("woff2");
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "PPFormula";
    src: url(/assets/fonts/PPFormula-Medium.woff2) format("woff2");
    font-weight: 500;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "PPFormula";
    src: url(/assets/fonts/PPFormula-Extrabold.woff2) format("woff2");
    font-weight: 800;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "PPFormula";
    src: url(/assets/fonts/PPFormula-ExtendedBold.woff2) format("woff2");
    font-weight: 700;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "IBMPlexSans";
    src: url(/assets/fonts/IBMPlexSans-Regular-Latin1.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "IBMPlexSans";
    src: url(/assets/fonts/IBMPlexSans-Regular-Latin2.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "IBMPlexSans";
    src: url(/assets/fonts/IBMPlexSans-Regular-Latin3.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "IBMPlexMono";
    src: url(/assets/fonts/IBMPlexMono-Medium-Latin1.woff2) format("woff2");
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "IBMPlexMono";
    src: url(/assets/fonts/IBMPlexMono-Medium-Latin2.woff2) format("woff2");
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
@font-face {
    font-family: "IBMPlexMono";
    src: url(/assets/fonts/IBMPlexMono-Medium-Latin3.woff2) format("woff2");
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    font-display: swap;
}
.access-link::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    transition: all 0.2s ease;
}
.btn.primary {
    width: 124px;
    aspect-ratio: 1/1;
    border-radius: 100%;
    border: 1px solid transparent;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #292929;
    margin: 12px 0 0 auto;
}
.btn.primary[disabled] {
    opacity: 0.3;
}

.btn.primary.stop, .screen.scenario.loading-please-wait .tile-board .btn.primary {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
}
.btn.secondary {
    border-radius: 12px;
    border: 1px solid #9D9D9D;
    padding: 28px 20px;
}
.btn.secondary .text {
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 1;
    color: #5B5B5B;
    letter-spacing: 0.05em;
}
.btn.secondary .text:not(:last-child) {
    margin: 0 0 10px;
}
.btn.icon-info {
    width: 30px;
    height: 30px;
    margin: 0 0 0 auto;
    border-radius: 100%;
    border: 1px solid #9D9D9D;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 1;
    color: #5B5B5B;
}
.btn.popin-close-btn {
    width: 55px;
    height: 55px;
    border-radius: 100%;
    border: 1px solid #E9E9E9;
    background-color: #fff;
    position: absolute;
    top: 75px;
    right: 105px;
    z-index: 1;
}
.btn.popin-close-btn::before, .btn.popin-close-btn::after {
    content: "";
    width: 20px;
    height: 2px;
    display: block;
    background-color: #292929;
    position: absolute;
    top: 50%;
    left: 50%;
    will-change: top, bottom, transform;
}
.btn.popin-close-btn:before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.btn.popin-close-btn:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.btn.help {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    border-radius: 6px;
    padding: 28px 36px 24px 68px;
    background-color: #F6C469;
    position: relative;
}
.btn.help::before, .btn.help::after {
    content: "";
    width: 18px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 32px;
    background-color: #292929;
}
.btn.help::before {
    transform: translateY(-50%) rotate(45deg);
}
.btn.help::after {
    transform: translateY(-50%) rotate(-45deg);
}
.btn.ui {
    min-width: 130px;
    height: 42px;
    border-radius: 9px;
    border: 1px solid #292929;
    box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
}
.btn.ui.load-scenario[disabled] {
    color: inherit;
    cursor: not-allowed;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}
.btn.pill {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1;
    color: #fff;
    padding: 13px 42px 12px;
    border-radius: 40px;
    border: 1px solid #fff;
}

.btn-container {
    display: flex;
    flex-direction: column;
}
.btn-container .btn:not(:last-child) {
    margin: 0 0 20px;
}

.menubar {
    height: 36px;
    display: none;
    align-items: center;
    gap: 0 10px;
    padding: 0 10px;
    background-color: #F9F9F9;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9000;
}
[data-screenactive=scenario-1] .menubar, [data-screenactive=scenario-2] .menubar {
    display: flex;
}
.menubar .menu-container {
    position: relative;
}
.menubar .menu-container .text {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05rem;
    color: #5B5B5B;
    pointer-events: none;
    white-space: nowrap;
    transition: color 0.2s ease;
}
.menubar .menu-container .menu-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    padding: 5px 10px 2px;
    background-color: transparent;
    transition: background-color 0.2s ease;
}
.menubar .menu-container .menu {
    flex-direction: column;
    gap: 3px 0;
    border: 1px solid #BCBCBC;
    border-radius: 6px;
    padding: 3px;
    background-color: #E9E9E9;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
    position: absolute;
    top: calc(100% + 3px);
    left: 0;
    display: none;
}
.menubar .menu-container .menu hr {
    margin: 0;
    border: 0;
    background-color: #BCBCBC;
}
.menubar .menu-container .menu .menu-item-trigger {
    min-width: 252px;
    border-radius: 6px;
    padding: 11px 10px 9px;
    text-align: start;
    background-color: transparent;
    transition: background-color 0.2s ease;
}
.menubar .menu-container .menu .menu-item-trigger:hover {
    background-color: #7673FF;
}
.menubar .menu-container .menu .menu-item-trigger:hover .text {
    color: #fff;
}
.menubar .menu-container .menu .menu-item-trigger .text {
    pointer-events: none;
}
.menubar .menu-container.show .menu-trigger {
    background-color: #7673FF;
}
.menubar .menu-container.show .menu-trigger .text {
    color: #fff;
}
.menubar .menu-container.show .menu {
    display: flex;
}
.menubar .today,
.menubar .time {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.05rem;
    color: #5B5B5B;
    margin: 6px 0 0;
}
.menubar .today {
    margin-left: auto;
    margin-right: 30px;
}
.menubar .time {
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.screen.intro {
    position: relative;
    background-color: #292929;
}
.screen.intro .loading-text {
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    animation: blink 2s infinite;
}
.screen.intro .title img {
    height: 133px;
    margin: 0 0 35px;
}
.screen.intro .title-double {
    font-size: 122px;
    color: #7673FF;
}
.screen.intro .screen-intro-content {
    width: 100vw;
    height: 100vh;
    opacity: 0;
    display: flex;
    pointer-events: none;
    transition: opacity 0.5s ease-in-out;
}
.screen.intro .screen-intro-content.show {
    opacity: 1;
    pointer-events: all;
}
.screen.intro .part {
    width: 50%;
}
.screen.intro .part.left {
    padding: 11.4vw 3.9vw 4.8vw 5.5vw;
    background-color: #292929;
}
.screen.intro .part.right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #9F81F4;
}
.screen.intro .part.right svg {
    width: 60%;
}
.screen.intro p {
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 22px;
    color: #fff;
    letter-spacing: 0.05em;
    margin: 0 0 66px;
}
.screen.intro .tiles-container {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 0 20px;
}
.screen.intro .tile-scenario-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
    aspect-ratio: 1/1;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #9D9D9D;
    background-color: #fff;
}
.screen.intro .tile-scenario-btn .lottie-container,
.screen.intro .tile-scenario-btn .img-container {
    flex: 1;
    border-radius: 6px;
    overflow: hidden;
    pointer-events: none;
}
.screen.intro .tile-scenario-btn .lottie-container img,
.screen.intro .tile-scenario-btn .img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.screen.intro .tile-scenario-btn .lottie-container.absolute,
.screen.intro .tile-scenario-btn .img-container.absolute {
    position: relative;
}
.screen.intro .tile-scenario-btn .lottie-container.absolute div,
.screen.intro .tile-scenario-btn .img-container.absolute div {
    position: absolute;
    inset: 0;
}
.screen.intro .tile-scenario-btn .text-container {
    margin: auto 0 0;
    pointer-events: none;
}
.screen.intro .tile-scenario-btn .tile-title {
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 0.05rem;
    color: #5B5B5B;
    margin: 0 0 4px;
}
.screen.intro .tile-scenario-btn p {
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.05rem;
    color: #8C8C8C;
    margin: 0;
}
.screen.intro .tile-scenario-btn.tile-scenario-1 .lottie-container {
    background: url(/assets/img/grid.svg) center/100% 100% no-repeat;
}
.screen.intro.loading .loading-text {
    display: flex;
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.screen.scenario {
    background-color: #D9D9D9;
    display: none;
    align-items: center;
    justify-content: center;
}
.screen.scenario .main-container {
    width: 100vw;
    height: 100vh;
    max-width: 1920px;
    max-height: 1080px;
    display: grid;
    grid-template-rows: 43.5% 1fr 42%;
    padding: 6.25rem 4.375rem 3.75rem 5rem;
    position: relative;
}
.screen.scenario .pane {
    height: 100%;
}
.screen.scenario .pane.top {
    grid-row: 1/1;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    max-height: 400px;
}
.screen.scenario .pane.top .cable-container {
    flex: 1;
    height: 100%;
    padding: 10px 0 0;
}
.screen.scenario .pane.bottom {
    grid-row: 3/4;
    max-height: 380px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0 30px;
    border-radius: 12px;
    padding: 10px 22px 10px 10px;
    background-color: #292929;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}
.screen.scenario .pane.bottom .pane-bottom-box {
    display: flex;
    align-items: stretch;
    gap: 0 10px;
}
.screen.scenario .cables-container {
    grid-row: 2/3;
    position: relative;
}
.screen.scenario .cables-container .cable-container {
    position: absolute;
    top: 0;
    bottom: -10px;
}
.screen.scenario .cables-container .cable-container svg {
    height: 100%;
}
.screen.scenario .cables-container .cable-container#cable3 {
    right: 72%;
}
.screen.scenario .cables-container .cable-container#cable4 {
    right: 43%;
}
.screen.scenario .cables-container .cable-container#cable5 {
    right: 21%;
}
.screen.scenario .tile {
    border-radius: 6px;
    border: 1px solid #9D9D9D;
    position: relative;
    overflow: hidden;
}
.screen.scenario .tile .tile-top,
.screen.scenario .tile .tile-bottom {
    display: flex;
    align-items: center;
    position: absolute;
    right: 15px;
    left: 15px;
    z-index: 1;
}
.screen.scenario .tile .tile-top {
    top: 14px;
}
.screen.scenario .tile .tile-bottom {
    gap: 0 40px;
    bottom: 6px;
    justify-content: space-between;
}
.screen.scenario .tile .led {
    margin: 0 16px 0 0;
}
.screen.scenario .tile .led.activity, .screen.scenario.loading-please-wait .tile .led {
    animation: led 0.2s infinite;
}
.screen.scenario .tile .tile-tag {
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 22px;
    color: #5B5B5B;
    padding: 10px;
    border-radius: 6px;
    background-color: #E9E9E9;
    letter-spacing: 0.05rem;
    text-align: center;
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 60%; /* Jordi */
}
.screen.scenario .tile .tile-tag.scenario-1 {
    width: 70%;
}
.screen.scenario .tile .tile-content {
    width: 100%;
    height: 100%;
    padding: 64px 10px 10px;
    display: flex;
    flex-direction: column;
    gap: 0.875rem 0;
    align-items: center;
}
.screen.scenario .tile .tile-content .tile-bar {
    width: 100%;
    display: flex;
    gap: 1.0625rem 0;
    flex-direction: column;
    align-items: center;
    border-radius: 6px;
    border: 1px solid #BCBCBC;
    padding: 12px;
}
.screen.scenario .tile .tile-content .tile-bar-title {
    line-height: 1;
}
.screen.scenario .tile .tile-content .img-container,
.screen.scenario .tile .tile-content .lottie-container {
    height: 72px;
}
.screen.scenario .tile .tile-content .img-container svg,
.screen.scenario .tile .tile-content .img-container div,
.screen.scenario .tile .tile-content .lottie-container svg,
.screen.scenario .tile .tile-content .lottie-container div {
    height: 100%;
}
.screen.scenario .tile .tile-content .img-container svg,
.screen.scenario .tile .tile-content .lottie-container svg {
    max-width: none;
}
.screen.scenario .tile .tile-content .result-title {
    width: 100%;
    height: 2.25rem;
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-weight: 500;
    font-size: 17px;
    position: relative;
}
.screen.scenario .tile .tile-content .result-title svg {
    height: 10px;
}
.screen.scenario .tile .tile-content .result-title span {
    border-radius: 5px;
    padding: 5px 10px;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s ease;
}
.screen.scenario .tile .tile-content .result-title span.text-on {
    color: #292929;
    border: 1px solid #E9E9E9;
    background-color: #fff;
    opacity: 0;
}
.screen.scenario .tile .tile-content .result-title span.text-on path {
    fill: #292929;
}
.screen.scenario .tile .tile-content .result-title span.text-off {
    color: #fff;
    border: 1px solid transparent;
    background-color: #292929;
    opacity: 1;
}
.screen.scenario .tile .input-range-value {
    width: 140px;
    font-family: PPFormula, sans-serif;
    font-weight: 300;
    font-size: 42px;
    line-height: 1;
    letter-spacing: 0.05rem;
    color: var(--theme);
    text-align: right;
}
.screen.scenario .tile .input-range-value span {
    font-size: 16px;
}
.screen.scenario .tile .tile-title {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05rem;
    color: var(--theme);
}
.screen.scenario .tile .lottie-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.screen.scenario .tile .lottie-container svg {
    width: 100%;
    max-width: 300px;
}
.screen.scenario .tile .lottie-container.absolute {
    position: relative;
    background: url(/assets/img/grid.svg) center/100% 100% no-repeat;
}
.screen.scenario .tile .lottie-container.absolute div {
    position: absolute;
    inset: 0;
}
.screen.scenario .tile .lottie-container.absolute svg {
    max-width: none;
}
.screen.scenario .tile .svg-placeholder,
.screen.scenario .tile .svg-result {
    height: 100%;
    display: block;
}
.screen.scenario .tile #scenario1Decision2,
.screen.scenario .tile #scenario1Decision2 {
    width: 140%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.screen.scenario .tile #scenario1Decision2,
.screen.scenario .tile #scenario2Decision2,
.screen.scenario .tile #scenario2DecisionB,
.screen.scenario .tile .svg-result {
    display: none;
}
.screen.scenario .tile.situation, .screen.scenario .tile.decision {
    flex: 0 1 28.4%;
    aspect-ratio: 5/4;
    color: #292929;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}
.screen.scenario .tile.situation {
    background-color: #fff;
}
.screen.scenario .tile.situation #scenario1Situation1.hide,
.screen.scenario .tile.situation #scenario1Situation2.hide {
    display: none;
}
.screen.scenario .tile.situation.scenario-2 .lottie-container {
    padding-top: 60px;
    justify-content: normal;
}
.screen.scenario .tile.situation.scenario-2 .lottie-container svg {
    max-width: 388px;
}
.screen.scenario .tile.network {
    flex: 0 1 22.7%;
    aspect-ratio: 1/1;
    color: #fff;
    background-color: #292929;
}
.screen.scenario .tile.decision {
    background-color: #F9F9F9;
}
.screen.scenario .tile.decision .tile-bar.grey {
    background-color: #D9D9D9;
}
.screen.scenario .tile.decision .tile-bar.black {
    background-color: #fff;
    border-color: #292929;
}
.screen.scenario .tile.decision .lottie-container {
    min-height: auto;
}
.screen.scenario .tile.decision.on .svg-placeholder,
.screen.scenario .tile.decision.on .svg-result {
    display: none;
}
.screen.scenario .tile.decision.on #scenario1Decision2,
.screen.scenario .tile.decision.on #scenario2Decision2 {
    display: block;
}
.screen.scenario .tile.decision.result .svg-placeholder,
.screen.scenario .tile.decision.result #scenario1Decision2,
.screen.scenario .tile.decision.result #scenario2Decision2 {
    display: none;
}
.screen.scenario .tile.decision.result .svg-result {
    display: block;
}
.screen.scenario .tile.marge, .screen.scenario .tile.precision {
    flex: 0 1 49.6%;
    aspect-ratio: 25/18;
}
.screen.scenario .tile.marge {
    --theme: #F6C469;
    grid-column: 1/2;
}
.screen.scenario .tile.precision {
    --theme: #9F81F4;
    grid-column: 3/4;
}
.screen.scenario .tile.analyse {
    grid-column: 5/6;
    height: 100%;
    aspect-ratio: 1/1;
    color: #fff;
    background-color: #292929;
}
.screen.scenario .tile.analyse.background img {
    width: 100%;
    max-width: 330px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.screen.scenario .tile.analyse .tile-top {
    top: 5px;
    left: 30px;
}
.screen.scenario .tile.analyse .lottie-container {
    max-width: 330px;
    max-height: 330px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.screen.scenario .tile.analyse .lottie-container svg {
    max-width: none;
}
.screen.scenario .tile.analyse .lottie-container.grid {
    background-color: #000;
}
.screen.scenario .tile.analyse .lottie-container.anim::before {
    content: "";
    height: 3.375rem;
    position: absolute;
    top: -14px;
    right: -14px;
    left: -14px;
    z-index: 1;
    background: linear-gradient(to bottom, #292929 0%, rgba(41, 41, 41, 0) 100%);
}
.screen.scenario .tile.analyse .lottie-container.axes {
    max-width: 360px;
    max-height: 360px;
}
.screen.scenario .tile.analyse .coord {
    color: #fff;
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 8px;
    position: absolute;
    z-index: 2;
}
.screen.scenario .tile.analyse .coord.n {
    top: 2px;
    left: 50%;
    transform: translateX(-50%);
}
.screen.scenario .tile.analyse .coord.e {
    top: 50%;
    left: 100%;
    transform: translate(-80%, -50%) rotate(90deg);
}
.screen.scenario .tile.analyse .coord.s {
    top: 100%;
    left: 50%;
    transform: translate(-50%, -100%);
}
.screen.scenario .tile.analyse .coord.w {
    top: 50%;
    left: 2px;
    transform: translate(-40%, -50%) rotate(90deg);
}
.screen.scenario .tile.analyse .coord.c {
    top: calc(50% + 4px);
    left: calc(50% + 4px);
}
.screen.scenario .tile-board {
    grid-column: 7/8;
    flex: 0 1 17%;
    display: flex;
    flex-direction: column;
}
.screen.scenario .tile-board .tile-board-title {
    margin: 0 0 auto;
}
.screen.scenario .tile-board .tile-board-title img {
    height: 17px;
}
.screen.scenario .tile-board .tile-board-content {
    flex: 1;
    display: flex;
    gap: 12px 0;
    flex-direction: column;
    justify-content: flex-end;
    margin: 0 0 15px;
}
.screen.scenario .tile-board .tile-board-content .legends {
    display: flex;
    flex-direction: column;
    gap: 1.125rem 0;
    margin: 0 0 auto;
}
.screen.scenario .tile-board .tile-board-content .legends .legend {
    display: flex;
    gap: 0 8px;
    align-items: center;
}
.screen.scenario .tile-board .tile-board-content .legends .legend .icon {
    flex: 0 0 1rem;
    aspect-ratio: 1/1;
}
.screen.scenario .tile-board .tile-board-content .legends .legend .icon.blue {
    background-color: #DBF3FD;
}
.screen.scenario .tile-board .tile-board-content .legends .legend .icon.grey {
    background-color: #828E93;
}
.screen.scenario .tile-board .tile-board-content .legends .legend .icon.black {
    border: 1px solid #828E93;
    background-color: #2B2B2B;
}
.screen.scenario .tile-board .tile-board-content .legends .legend .text {
    font-size: 14px;
    color: #fff;
}
.screen.scenario .tile-board .tile-board-content-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.screen.scenario .tile-board .tile-board-content-bottom {
    display: flex;
}
.screen.scenario .tile-board .title {
    font-family: IBMPlexMono, sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.05rem;
    text-align: center;
}
.screen.scenario .tile-board .loading-bar {
    width: 100%;
    height: 10px;
    border: 1px solid #fff;
    border-radius: 38px;
    position: relative;
    transition: margin-bottom 0.2s ease;
}
.screen.scenario .tile-board .loading-bar .percent {
    width: 0%;
    height: 8px;
    border-radius: 4px;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transition: width 0.2s linear;
}
.screen.scenario.show {
    display: flex;
}

@keyframes spin {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(360deg);
    }
}
@keyframes led {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.window {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 640px;
    height: 600px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    border-radius: 12px;
    border: 1px solid #9D9D9D;
    background-color: #fff;
    box-shadow: 15px 15px 20px 0 rgba(0, 0, 0, 0.15);
    overflow: hidden;
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
}
.window .top {
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #E9E9E9;
    cursor: move;
}
.window .window-content {
    flex: 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-inline-start: 10px 20px;
}
.window .bottom {
    height: 72px;
    border-top: 1px solid #9D9D9D;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 0 15px;
    padding: 15px 35px;
}

.file {
    width: 160px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.file .icon {
    width: 100px;
    height: 100px;
    margin: 0 0 3px;
    border-radius: 6px;
    padding: 6px 15px;
}
.file .icon svg {
    width: 100%;
}
.file .name {
    width: 140px;
    border-radius: 6px;
    padding: 7px 25px 8px;
    color: #292929;
    text-align: center;
    overflow-wrap: break-word;
}
.file.neutral {
    width: 100%;
    margin: 0 0 10px;
}
.file.neutral .name {
    width: 100%;
    color: #fff;
}

.popin {
    width: 100vw;
    height: 100vh;
    background-color: rgba(41, 41, 41, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9002;
    display: none;
}
.popin.open {
    display: flex;
    animation: popin-open 0.3s ease both;
}
.popin.close {
    animation: popin-close 0.3s ease both;
}
.popin.popin-infos .popin-content {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.popin.popin-infos .popin-content .slides {
    max-width: 1920px;
    height: 100%;
    margin: 0 auto;
    overflow: scroll;
    padding: 50px 70px 50px 80px;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.popin.popin-infos .popin-content .slides::-webkit-scrollbar {
    display: none;
}
.popin.popin-infos .popin-content .slide {
    display: flex;
    gap: 0 30px;
    align-items: flex-start;
    padding: 0 0 45px;
    scroll-margin-top: 50px;
}
.popin.popin-infos .popin-content .left,
.popin.popin-infos .popin-content .right {
    width: 50%;
    border-radius: 12px;
    border: 1px solid #9D9D9D;
    box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.15);
}
.popin.popin-infos .popin-content .left {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.popin.popin-infos .popin-content .right {
    height: 100%;
    display: flex;
    gap: 0 5%;
    padding: 76px 98px 100px 60px;
    background-color: #F9F9F9;
    position: relative;
}
.popin.popin-infos .popin-content .img-container {
    width: 100%;
}
.popin.popin-infos .popin-content .img-container img {
    width: 100%;
}
.popin.popin-infos .popin-content .legend {
    background-color: #E9E9E9;
}
.popin.popin-infos .popin-content .legend p {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 22px;
    color: #5B5B5B;
    margin: 0;
    padding: 11px 15px;
}
.popin.popin-infos .popin-content .side {
    flex: 0 0 28%;
}
.popin.popin-infos .popin-content .side .folio {
    font-family: PPFormula, sans-serif;
    font-weight: 300;
    font-size: 134px;
    line-height: 1;
    letter-spacing: 0.05rem;
    color: #292929;
    margin: -19px 0 -10px 0;
}
.popin.popin-infos .popin-content .side .subtitle {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.05rem;
    color: #292929;
}
.popin.popin-infos .popin-content .main {
    display: flex;
    flex-direction: column;
}
.popin.popin-infos .popin-content .main .title {
    font-family: PPFormula, sans-serif;
    font-weight: 800;
    font-size: 28px;
    line-height: 38px;
    letter-spacing: 0.05rem;
    color: #292929;
    margin: 0 0 26px;
}
.popin.popin-infos .popin-content .main p {
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 34px;
    color: #292929;
    margin: 0 0 20px;
}
.popin.popin-infos .popin-content .main p:last-child {
    margin-bottom: 0;
}
.popin.popin-help {
    align-items: center;
    justify-content: center;
    padding: 6.25rem 4.375rem 3.75rem 5rem;
}
.popin.popin-help .popin-content {
    width: 100vw;
    height: 100vh;
    max-width: 1770px;
    max-height: 920px;
    position: relative;
}
.popin.popin-help .btn.help {
    position: absolute;
    top: 20px;
    right: 20px;
}
.popin.popin-help .bloc-help {
    border-radius: 18px;
    position: absolute;
}
.popin.popin-help .bloc-help.infos {
    width: 72px;
    height: 54px;
    top: 0.5%;
    left: 24.6%;
}
.popin.popin-help .bloc-help.network {
    width: 72px;
    height: 54px;
    top: 34.4%;
    left: 48%;
}
.popin.popin-help .bloc-help.start {
    width: 72px;
    height: 54px;
    top: 68%;
    left: 93.3%;
}
.popin.popin-help .bloc-help.analyse {
    width: 72px;
    height: 54px;
    top: 94%;
    left: 7.8%;
}
.popin.popin-help .bloc-help.precision {
    width: 72px;
    height: 54px;
    top: 94%;
    left: 36.3%;
}
.popin.popin-help .tooltip {
    width: 300px;
    font-family: PPFormula, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    border-radius: 6px;
    padding: 15px 15px 11px;
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #F6C469;
}
.popin.popin-help .tooltip::before {
    content: "";
    width: 22px;
    height: 30px;
    position: absolute;
    left: 50%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: url(/assets/img/icon-arrow-help.svg) center/auto 100% no-repeat;
}
.popin.popin-help .tooltip.top {
    bottom: calc(100% + 54px);
}
.popin.popin-help .tooltip.top::before {
    top: calc(100% + 12px);
    transform: translateX(-50%) rotate(180deg);
    animation: bounceBottom 0.5s infinite alternate ease-in-out;
}
.popin.popin-help .tooltip.bottom {
    top: calc(100% + 54px);
}
.popin.popin-help .tooltip.bottom::before {
    bottom: calc(100% + 12px);
    transform: translateX(-50%) rotate(0deg);
    animation: bounceTop 0.5s infinite alternate ease-in-out;
}

@keyframes popin-open {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes popin-close {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes bounceBottom {
    from {
        top: calc(100% + 5px);
    }
    to {
        top: calc(100% + 19px);
    }
}
@keyframes bounceTop {
    from {
        bottom: calc(100% + 5px);
    }
    to {
        bottom: calc(100% + 19px);
    }
}
*:focus {
    outline: 4px solid #7673FF;
    outline-offset: 2px;
}

body {
    font-family: PPFormula, sans-serif;
    font-weight: 300;
}
body.oh {
    height: 100vh;
    position: relative;
    touch-action: none;
    -webkit-overflow-scrolling: touch;
    overflow: hidden !important;
    overscroll-behavior: none;
}

main {
    width: 100vw;
    height: 100vh;
    position: relative;
    overflow: hidden;
}

.wip {
    border-width: 10px;
    border-style: solid;
    border-image: repeating-linear-gradient(var(--gradient)) 10;
}

.screen {
    position: absolute;
    inset: 0;
    opacity: 0;
    display: none;
    pointer-events: none;
    transition: opacity 0.5s ease;
}
.screen.show {
    opacity: 1;
    display: block;
    pointer-events: all;
}

.curtain {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0;
    pointer-events: none;
    background-color: #fff;
    transition: opacity 1s ease;
}
.curtain.show {
    opacity: 1;
}

.input-container {
    flex: 1;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.input-container .input-range-color {
    --gradient: linear-gradient(90deg, var(--theme), var(--theme) 100%);
    --percent: 0;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 3px;
}
.input-container .input-range-color:before {
    content: "";
    background-image: var(--gradient);
    border-radius: 3px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: var(--percent);
    height: 3px;
    z-index: -1;
}
.input-container input {
    width: 100%;
    height: 3px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.4) var(--gradient) no-repeat;
    background-size: var(--percent) 100%;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}
.input-container input::-webkit-slider-thumb {
    background-color: #fff;
    border: 1px solid #292929;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    -webkit-appearance: none;
    appearance: none;
}
.input-container input:focus::-webkit-slider-thumb, .input-container input::-webkit-slider-thumb:hover {
    background-color: #fff;
}
.input-container input::-moz-range-thumb {
    background-color: #fff;
    border: 1px solid #292929;
    border-radius: 50%;
    width: 25px;
    height: 25px;
}
.input-container input:focus::-moz-range-thumb, .input-container input::-moz-range-thumb:hover {
    background-color: #fff;
}
.input-container input:focus {
    outline: none;
}

/* JORDI */
#button-result-S2 {
    position: relative;
    top: 10px;
}

.intro-subtitle {
    max-width: 385px;
}

.scenario2 .tile-tag {
    width: 290px;
}



/*@import 'pages/';*/

/*# sourceMappingURL=app.css.map*/