:root {
    --neo-blue: rgb(0, 162, 223);
    --neo-white: rgb(255, 255, 255);
    --neo-black: rgb(5, 5, 5);
}
.viewer-container {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}
.viewer {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: auto;
}
.error-message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}
.viewer canvas {
    margin: .1vh 0;
}
.button-row {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: center;
    align-items: center;
}
.file-name {
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.viewer-blinker {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--neo-blue);
    animation: blinker 1.5s cubic-bezier(.5, 0, 1, 1) infinite alternate;
    font-size: 3em;
}
.viewer-blinker span {
    opacity: 0;
    animation-name: blinker;
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(.5, 0, 1, 1);
    animation-iteration-count: infinite;
}
.viewer-blinker span:nth-child(1) {
    animation-delay: 0s;
}
.viewer-blinker span:nth-child(2) {
    animation-delay: .5s; /* Délai pour le deuxième point */
}
.viewer-blinker span:nth-child(3) {
    animation-delay: 1s; /* Délai pour le troisième point */
}
@keyframes blinker {  
    0%, 100% { opacity: 0; }
    50% { opacity: 1; }
}
/* Style par défaut */
.next-button polygon {
stroke: var(--neo-black);
}
.dark .next-button polygon {
stroke: var(--neo-white);
}