.score {
    position: fixed;
    font-size: 20pt;
    color: #fff;
    z-index: 100001;
    width:10em;
    height: 1em;
    left: 0;
    bottom: 10px;
    display: none;
    counter-reset: time 100;
    animation: countdown 100s paused forwards 1;
}

.failed, .complete {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    z-index: 1000000;
    position: fixed;
    width:100%;
    height: 100%;
    background-color: #000;
    color: #fff;
    opacity: 0;
    pointer-events: none;
}

.failed a:link,.failed a:visited, .complete a:link,.complete a:visited {
     color:#fff;
     text-decoration: none;
     padding:20px;
 }
 
.failed a:hover, .complete a:hover {
     color: #000;
     background-color: #fff;
 }

.failed {
    animation: failedMission forwards 1;
    animation-duration: 0.5s;
    animation-delay: 100s;
    animation-play-state: paused;
}

.complete {
    animation: completedMission forwards 1;
    animation-duration: 0.5s;
    animation-delay: 1s;
    animation-play-state: paused;
}

.complete:has(~ .scene #bullet3:checked):has(~ .scene #bullet6:checked):has(~ .scene #bullet9:checked) {
    animation-play-state: running!important;
}

.menu:has(#start:checked) ~ .score {
    animation-play-state: running;
}

.menu:has(#start:checked) ~ .failed {
    animation-play-state: running!important;
}

.score::after {
    content: "Score: " counter(score) " Time:" counter(time);
}

@keyframes completedMission {
    to {
        opacity: 1;
        pointer-events: all;
    }
}

@keyframes failedMission {
    to {
        opacity: 1;
        pointer-events: all;
    }
}

@keyframes countdown {
    1% {
        counter-reset: time 99;
   }
   2% {
        counter-reset: time 98;
   }
   3% {
        counter-reset: time 97;
   }
   4% {
        counter-reset: time 96;
   }
   5% {
        counter-reset: time 95;
   }
   6% {
        counter-reset: time 94;
   }
   7% {
        counter-reset: time 93;
   }
   8% {
        counter-reset: time 92;
   }
   9% {
        counter-reset: time 91;
   }
   10% {
        counter-reset: time 90;
   }
   11% {
        counter-reset: time 89;
   }
   12% {
        counter-reset: time 88;
   }
   13% {
        counter-reset: time 87;
   }
   14% {
        counter-reset: time 86;
   }
   15% {
        counter-reset: time 85;
   }
   16% {
        counter-reset: time 84;
   }
   17% {
        counter-reset: time 83;
   }
   18% {
        counter-reset: time 82;
   }
   19% {
        counter-reset: time 81;
   }
   20% {
        counter-reset: time 80;
   }
   21% {
        counter-reset: time 79;
   }
   22% {
        counter-reset: time 78;
   }
   23% {
        counter-reset: time 77;
   }
   24% {
        counter-reset: time 76;
   }
   25% {
        counter-reset: time 75;
   }
   26% {
        counter-reset: time 74;
   }
   27% {
        counter-reset: time 73;
   }
   28% {
        counter-reset: time 72;
   }
   29% {
        counter-reset: time 71;
   }
   30% {
        counter-reset: time 70;
   }
   31% {
        counter-reset: time 69;
   }
   32% {
        counter-reset: time 68;
   }
   33% {
        counter-reset: time 67;
   }
   34% {
        counter-reset: time 66;
   }
   35% {
        counter-reset: time 65;
   }
   36% {
        counter-reset: time 64;
   }
   37% {
        counter-reset: time 63;
   }
   38% {
        counter-reset: time 62;
   }
   39% {
        counter-reset: time 61;
   }
   40% {
        counter-reset: time 60;
   }
   41% {
        counter-reset: time 59;
   }
   42% {
        counter-reset: time 58;
   }
   43% {
        counter-reset: time 57;
   }
   44% {
        counter-reset: time 56;
   }
   45% {
        counter-reset: time 55;
   }
   46% {
        counter-reset: time 54;
   }
   47% {
        counter-reset: time 53;
   }
   48% {
        counter-reset: time 52;
   }
   49% {
        counter-reset: time 51;
   }
   50% {
        counter-reset: time 50;
   }
   51% {
        counter-reset: time 49;
   }
   52% {
        counter-reset: time 48;
   }
   53% {
        counter-reset: time 47;
   }
   54% {
        counter-reset: time 46;
   }
   55% {
        counter-reset: time 45;
   }
   56% {
        counter-reset: time 44;
   }
   57% {
        counter-reset: time 43;
   }
   58% {
        counter-reset: time 42;
   }
   59% {
        counter-reset: time 41;
   }
   60% {
        counter-reset: time 40;
   }
   61% {
        counter-reset: time 39;
   }
   62% {
        counter-reset: time 38;
   }
   63% {
        counter-reset: time 37;
   }
   64% {
        counter-reset: time 36;
   }
   65% {
        counter-reset: time 35;
   }
   66% {
        counter-reset: time 34;
   }
   67% {
        counter-reset: time 33;
   }
   68% {
        counter-reset: time 32;
   }
   69% {
        counter-reset: time 31;
   }
   70% {
        counter-reset: time 30;
   }
   71% {
        counter-reset: time 29;
   }
   72% {
        counter-reset: time 28;
   }
   73% {
        counter-reset: time 27;
   }
   74% {
        counter-reset: time 26;
   }
   75% {
        counter-reset: time 25;
   }
   76% {
        counter-reset: time 24;
   }
   77% {
        counter-reset: time 23;
   }
   78% {
        counter-reset: time 22;
   }
   79% {
        counter-reset: time 21;
   }
   80% {
        counter-reset: time 20;
   }
   81% {
        counter-reset: time 19;
   }
   82% {
        counter-reset: time 18;
   }
   83% {
        counter-reset: time 17;
   }
   84% {
        counter-reset: time 16;
   }
   85% {
        counter-reset: time 15;
   }
   86% {
        counter-reset: time 14;
   }
   87% {
        counter-reset: time 13;
   }
   88% {
        counter-reset: time 12;
   }
   89% {
        counter-reset: time 11;
   }
   90% {
        counter-reset: time 10;
   }
   91% {
        counter-reset: time 9;
   }
   92% {
        counter-reset: time 8;
   }
   93% {
        counter-reset: time 7;
   }
   94% {
        counter-reset: time 6;
   }
   95% {
        counter-reset: time 5;
   }
   96% {
        counter-reset: time 4;
   }
   97% {
        counter-reset: time 3;
   }
   98% {
        counter-reset: time 2;
   }
   99% {
        counter-reset: time 1;
   }
   100% {
    counter-reset: time 0;
   }
}

.score:has(~ .scene #bullet3:checked):has(~ .scene #bullet6:not(:checked)):has(~ .scene #bullet9:not(:checked)) {
    counter-increment: score 10;
}

.score:has(~ .scene #bullet3:checked):has(~ .scene #bullet6:checked):has(~ .scene #bullet9:not(:checked)) {
    counter-increment: score 20;
}

.score:has(~ .scene #bullet3:checked):has(~ .scene #bullet6:checked):has(~ .scene #bullet9:checked) {
    counter-increment: score 30;
}

.score:has(~ .scene #bullet3:not(:checked)):has(~ .scene #bullet6:checked):has(~ .scene #bullet9:not(:checked)) {
    counter-increment: score 10;
}

.score:has(~ .scene #bullet3:not(:checked)):has(~ .scene #bullet6:checked):has(~ .scene #bullet9:checked) {
    counter-increment: score 20;
}

.score:has(~ .scene #bullet3:not(:checked)):has(~ .scene #bullet6:not(:checked)):has(~ .scene #bullet9:checked) {
    counter-increment: score 10;
}

.score:has(~ .scene #bullet3:checked):has(~ .scene #bullet6:not(:checked)):has(~ .scene #bullet9:checked) {
    counter-increment: score 20;
}