   body {
      background-color: #145b5d;
      font-family: 'Courier New', Courier, monospace;
      display: flex;
      flex-direction: column;
      align-items: center;
      height: 100vh;
      margin: 0;
    }

    .timer-top {
          font-size: 24px;
      color: #00ffaa;
      background-color: #222;
      padding: 10px 30px;
      border: 3px solid #00ffaa;
      margin-top: 20px;
      letter-spacing: 3px;
	       font-family: 'Courier New', Courier, monospace; /* Dijital font stili */
 
  background-color: #222;/
 padding: 10px 30px;
  border: 3px solid #00ffaa;
  border-radius: 8px;
  box-shadow: 0 0 10px #00ffaa; /* Hafif parıltı efekti */
  letter-spacing: 0.1em;
  display: inline-block;
  user-select: none; /* Kopyalamayı engelle */
  text-align: center;
    }

    .panel {
      background-color: #b7b287;
      border: 5px solid #888;
      padding: 20px;
      border-radius: 10px;
      display: flex;
      gap: 20px;
      box-shadow: 0 0 10px #000;
      margin-top: 20px;
    }

    .keypad {
      background-color: #3f3f3f;
      padding: 10px;
      display: grid;
      grid-template-columns: repeat(9, 40px);
      gap: 8px;
      border: 2px solid #222;
    }

    .keypad button {
      background-color: #d0d8c0;
      border: none;
      width: 40px;
      height: 40px;
      font-size: 14px;
      font-weight: bold;
      box-shadow: inset -2px -2px 2px #999;
      cursor: pointer;
    }

    .keypad button.button2 {
      width: 36px;
    }

    .right-panel {
      display: flex;
      flex-direction: column;
    }

    .display {
      background-color: #325c52;
      color: #00ffaa;
      font-size: 24px;
      padding: 10px;
      margin-bottom: 10px;
      text-align: center;
      letter-spacing: 10px;
      border: 4px inset #222;
      height: 40px;
      transition: background-color 0.3s, color 0.3s;
    }

    .label {
      background-color: white;
      padding: 5px;
      margin: 10px 0;
      font-size: 14px;
      font-weight: bold;
      border: 1px solid #444;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 5px;
    }

    .progress-container {
      width: 100%;
      background-color: #ddd;
      border: 1px solid #555;
      height: 20px;
      margin-top: 10px;
      border-radius: 5px;
      overflow: hidden;
    }

    .progress-bar {
      height: 100%;
      width: 0%;
      background-color: #00cc00;
      color: white;
      text-align: center;
      font-size: 14px;
      line-height: 20px;
      transition: width 0.3s ease-in-out;
    }

    .controls {
      display: flex;
      justify-content: center;
      gap: 20px;
      margin-top: 15px;
    }

    .controls button {
      width: 80px;
      height: 40px;
      font-size: 16px;
      font-weight: bold;
      background-color: #444;
      color: #fff;
      border: none;
      border-radius: 5px;
      cursor: pointer;
    }
	.keypad {
  grid-template-columns: repeat(10, 1fr); /* artık 10 sütun */
}

.keypad button.button2 {
  width: 100%;  /* grid otomatik ayarlar */
}

.keypad button {
  width: 40px;  /* harfler için genişlik sabit */
}
#win-message {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #222;
  color: #0f0;
  padding: 20px 30px;
  font-size: 24px;
  border-radius: 10px;
  z-index: 1000;
  display: none;
}
#win-message.show {
  display: block;
}
#toggleMusic {
  position: absolute;
  top: 25px; /* timer-top ile hizalı */
  right: 30px; /* sağ üst köşeye yakın */
  background-color: #222;
  color: #00ffaa;
  border: 2px solid #00ffaa;
  padding: 6px 12px;
  font-size: 20px;
  border-radius: 5px;
  cursor: pointer;
  z-index: 1000;
  transition: background-color 0.3s ease;
}

#toggleMusic:hover {
  background-color: #00ffaa;
  color: #222;
}
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.35); /* %35 karanlık */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

/* Merkezi içeriği (mesaj + buton) */
.end-screen {
  background: white;
  padding: 30px 40px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 0 20px rgba(0,0,0,0.4);
  animation: fadeIn 0.5s ease forwards;
}

/* Mesaj */
.message {
  font-size: 24px;
  margin-bottom: 20px;
}

/* Buton */
#restart-button {
  padding: 12px 24px;
  font-size: 18px;
  cursor: pointer;
  border: none;
  background-color: #28a745;
  color: white;
  border-radius: 6px;
  transition: background-color 0.3s;
}

#restart-button:hover {
  background-color: #218838;
}

/* Gizleme ve gösterme */
.hidden {
  display: none;
}

/* Basit fade-in animasyonu */
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.end-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 460px; /* klavye genişliğinde ayarla */
  height: 360px; /* yeterli yükseklik */
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  border-radius: 8px;
  flex-direction: column;
  padding: 20px;
}

.end-content {
  text-align: center;
}

.blink-text {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
  animation: blink 1s step-start infinite;
}

#restartBtn {
  padding: 10px 20px;
  font-size: 18px;
  background-color: #444;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

#restartBtn:hover {
  background-color: #666;
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}

.hidden {
  display: none;
}
.main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 1.25em;
}

.buttons {
  display: flex;
  flex-direction: column;
  row-gap: 1.5em;
}
.button_pair {
  display: flex;
  column-gap: 1.5em;
}
.button_pair1 {
  display: flex;
  flex-direction: column;
  row-gap: 0.9em;
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5em;
  height: 5em;
  background-color: #171717;
  border-radius: 5px;
}

.button1 {
  width: 5.7em;
  height: 5.7em;
  border-radius: 10px;
  border: none;
  outline: none;
  background-color: #c7c3c0;
  box-shadow: rgba(0, 0, 0, 0.377) 10px 10px 8px,
    #ffffff 1.5px 1.5px 2px 0px inset, #c7c3c0 -3.2px -3.2px 8px 0px inset;
  cursor: pointer;
  font-family: Montserrat;
  transition: 0.1s ease-in-out;
}
.button2 {
  width: 5.7em;
  height: 5.7em;
  border-radius: 10px;
  border: none;
  outline: none;
  background-color: #c7c3c0;
  box-shadow: rgba(0, 0, 0, 0.377) 10px 10px 8px,
    #ffffff 1.5px 1.5px 2px 0px inset, #c7c3c0 -3.2px -3.2px 8px 0px inset;
  cursor: pointer;
  transition: 0.1s ease-in-out;
}
.svg1 {
  fill: #5f5f5f;
  width: 25px;
  height: 25px;
  transition: 0.1s ease-in-out;
}
.svg2 {
  fill: #5f5f5f;
  width: 25px;
  height: 25px;
  transition: 0.1s ease-in-out;
}

.button3 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 5.7em;
  height: 5.7em;
  border-radius: 10px;
  border: none;
  outline: none;
  box-shadow: rgba(0, 0, 0, 0.377) 10px 10px 8px, #fb702c 2px 2px 10px 0px inset,
    #d42a02 -4px -4px 1px 0px inset;
  cursor: pointer;
  transition: 0.1s ease-in-out;
}
.button4 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 5.7em;
  height: 5.7em;
  border-radius: 10px;
  border: none;
  outline: none;
  background-color: #545251;
  box-shadow: rgba(0, 0, 0, 0.377) 10px 10px 8px,
    #a8a6a4 1.5px 1.5px 1px 0px inset, #545251 -3.2px -3.2px 8px 0px inset;
  cursor: pointer;
  font-family: Montserrat;
  transition: 0.1s ease-in-out;
}

.button_text {
  color: white;
  padding-top: 0.9em;
  letter-spacing: 0.075em;
  font-size: 0.85em;
  transition: 0.1s ease-in-out;
}

.text {
  font-family: Montserrat;
  text-align: center;
  font-size: 0.65em;
}

.button1:active,
.button2:active {
  box-shadow: rgba(0, 0, 0, 0.377) 0px 0px 0px, inset 0.5px 0.5px 4px #000000,
    #c7c3c0 -3.2px -3.2px 8px 0px inset;
}
.button1:active .svg1,
.button2:active .svg2 {
  scale: 0.95;
}
.button3:active {
  box-shadow: rgba(0, 0, 0, 0.377) 0px 0px 0px, inset 0.5px 0.5px 4px #000000,
    #d42a02 -3.2px -3.2px 8px 0px inset;
}
.button3:active .button_text {
  transform: translateY(0.5px);
}
.button4:active {
  box-shadow: rgba(0, 0, 0, 0.377) 0px 0px 0px, inset 0.5px 0.5px 4px #000000,
    #545251 -3.2px -3.2px 8px 0px inset;
}
.button4:active .button_text {
  transform: translateY(0.5px);
}

@font-face {
    font-family: 'LCD AT&T Phne Time/Date';
    src: url('https://merchedev.github.io/codepen-assets/assets/fonts/lcdat.woff') format('woff');
    font-weight: normal;
    font-style: normal; 
} 
  
@mixin shadow($x, $y, $blur){
    filter: drop-shadow($x $y $blur rgba(0,0,0, 0.4));
}

:root{
    --font: 'LCD AT&T Phne Time/Date', sans-serif;
}
body{
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1vw;
  background:
  radial-gradient(black 15%, transparent 16%) 0 0,
  radial-gradient(black 15%, transparent 16%) 8px 8px,
  radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 0 1px,
  radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 8px 9px;
  background-color:#282828;
  background-size:16px 16px;
}

.bomb{
    font-size: 1.1vw;
    display:flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position:relative;
    filter: drop-shadow(1em 1em 0.3em rgba(0,0,0,0.5));
    
  &--explosion{
    animation: bomb 0.4s ease-out;
  }
    &__dynamite{
        width: 52em;
        height: 9em;
        background: linear-gradient(#3A0101 0%,  #A00202 50%, #3A0101 100%);
        position:relative;
        
      filter: drop-shadow(0em 0.2em 0.1em rgba(0, 0, 0, 0.5)) drop-shadow(0em -0.2em 0.1em rgba(0, 0, 0, 0.5));

        &:before, &:after{
            content: '';
            position: absolute;
            width: 2em; 
            height: 100%;
            top:0;
            background: linear-gradient(#3A0101 0%,  #A00202 50%, #3A0101 100%);
        }
        &:before{
            left:-1.9em;
            border-radius: 50% 0 0 50%;

        }
        &:after{
            right:-1.9em;
            border-radius: 0 50% 50% 0;
        }
        &--center{
            width:54em;
            z-index:1;
        }

        &--first{
            transform: translateY(2em);
        }
        &--last{
            transform: translateY(-2em);
        }
    }

    &__tape{
        width: 3em;
        height: 23em;
        position:absolute;
        z-index: 2;
        top:calc(50% - 11.5em);
        left: 8em;
        border-radius: 50% 0 0 50% ;
        box-shadow: -1em 0 0 0 black, -2em 0 0 0 black, -3em 0 0 0 black,  -4em 0 0 0 black;
        @include shadow(0em, 0em, 0.3em);

        &--right{
            left:unset;
            right: 8em;
            border-radius: 0 50% 50% 0;
            box-shadow: 1em 0 0 0 black, 2em 0 0 0 black, 3em 0 0 0 black,  4em 0 0 0 black;
        }
    }

    &__circuit{
        position:absolute;
        top: calc(50% - 8em);
        left: calc(50% - 12em);
        z-index: 2;
    }
}

.circuit{
    font-size: 1em;
    background-color: #08422A;
    width:24em;
    height:16em;
    box-shadow: 0.1em 0.1em 0.1em rgba(0, 0, 0, 0.4), -0.1em -0.1em 0.1em rgba(0, 0, 0, 0.4), -0.1em 0.1em 0.1em rgba(0, 0, 0, 0.4), 0.1em -0.1em 0.1em rgba(0, 0, 0, 0.4), 0.3em 0.3em 0.3em rgba(0, 0, 0, 0.5);
    
    &:after{
        content: '';
        position: absolute;
        width: 1em;
        height: 1em;
        background: #3A0101;
        border-radius: 50%;
        top: 0.5em;
        left: 0.5em;
        box-shadow: 22em 0 #3A0101, 22em 14em #3A0101, 0 14em #3A0101;
    }

    &__multiplexers{
        display: flex;
        padding: 2em 2.5em;
        padding-bottom: 1em;
        justify-content: space-between;

    }

    &__lcd-container{
        display:flex;
        align-items: center;
    }

    &__led{
        margin: 0 0.55em;
        width: 0.7em;
        height: 0.7em;
        border-radius:50%;
        border: 0.15em solid #541828;
        background:radial-gradient(#A33B3B 8%, #942A2A 21%, #541828 100%);
        @include shadow(0.4em, 0.3em, 0.2em);
        transition: all 0.2s ease-in-out;
      
        &--on{
            border: 0.15em solid #8F2844;
            background:radial-gradient(#ED1818 8%, #E00505 21%, #0e0306 100%);
            box-shadow: 0 0 0.5em #ED1818, 0 0 0.1em #ED1818, inset 0 0 0.5em #ED1818;
        }
    }


    &__buttons-container{
        display:flex;
        align-items: center;
        padding-left: 1.6em;
        padding-top: 0.4em;
    }
    &__buzzing{
        
        width: 2em;
        height: 2em;
        border-radius: 50%;
        background: radial-gradient(#7F7F82 15%, #000000 20%, #000000 48%, #232326 55%, #525252 60%, #A8A8AB 63%, #525252 66%, #A8A8AB 69%, #525252 72%);
        box-shadow: 0.2em 0.3em 0.4em rgba(0,0,0,0.5);
    }

    &__red-button{
        font-size: 1em;
        width: 2.3em;
        height: 2.3em;
        border-radius: 50%;
        margin: 0 0.4em;
        box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.4);
        
        background: radial-gradient(#C41B2B 30%, #DB3E3E 47%, #8F2844 50%, #232326 55%, #525252 65%, #525252 67%, #232326 70%);
      
        outline:none;
        border:none;
        cursor:pointer;
      
    }
}

.multiplexer{
    font-size: 1em;
    background-color: #232326;
    border: 0.1em solid #000000;
    width:8.5em;
    height: 2.5em;
    position:relative;
    box-shadow: 0.1em 0.1em 0.6em rgba(0,0,0,0.7);

    &:before, &:after{
        content: '';
        position: absolute;
        height: 0.6em;
        top: calc(50% - 0.3em);
    }
    &:before{
        width: 0.4em;
        background-color: black;
        border-radius: 0 50% 50% 0;
        left: -0.14em;
    }
    &:after{
        width: 0.6em;
        border-radius: 50%;
        left: -0.3em;
        box-shadow: 1.5em 0 black, 7em 0 black;
    }
    
    &__text{
        margin-left:auto;
        margin-right: 4em;
        color: #565547;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 0.6em;
        max-width: 13ch;
        line-height: 1em;
        text-align: right;

        &--bold{
        font-weight: 600;
        }
    }
}
.pin{
        position:absolute;
        width:0.3em;
        height:0.3em;
        border-radius: 50%;
        background-color: #000000;
        z-index:-1;
       font-size: 1em;

        &:before{
            content: '';
            position: absolute;  
            width: 0.8em;
            height: 0.3em;
            background: linear-gradient(to top, #AFAFB2 66%, #403C3A 100%);
            top: 0.2em;
            left: -0.25em;
            z-index:3;

            
        }

        &:after{
            content: '';
            position: absolute;
            width: 0.6em;
            height: 0.2em;
            top:0.1em;
            left:-0.15em;
            z-index: -1;
            background: linear-gradient(to top, #403C3A 54%, #AFAFB2 72%, #403C3A 100%);
        }
    }

.lcd{
    width: 19.5em;
    height:7em;
    background:black;
    position:relative;
    filter: drop-shadow(0.05em 0.05em 0em rgba(0, 0, 0, 0.4)) drop-shadow(-0.05em -0.05em 0em rgba(0, 0, 0, 0.4)) drop-shadow(0.4em 0.4em 0.3em rgba(0, 0, 0, 0.5));
    font-size: 1em;

    &__background, &__time{
        position:absolute;
        font-family: var(--font);
        font-size: 8em;
        text-align: right;
        right: 0.1em;
        top: 0.02em;

    }
    &__background{
        color: rgba(255, 255, 255, 0.1);
    }

    &__time{
        color: #E00505;

        text-shadow: 0 0 0.5em #E00505, 0 0 0.1em #E00505;
      .text{
        width:100%;
      }
    }

}

.square-button{
    font-size: 1em;
    border:none;
    outline:none;
    padding:0;
    width: 1.5em;
    max-width: 1.5em;
    height: 1.5em;
    background: linear-gradient(#616161 0%, #A8A8AB 20%, #616161 100%);
    border-radius: 0.15em;
    position: relative;
    display:flex;
    justify-content: center;
    align-items: center;
    margin: 0 1em;
    box-shadow: 0.3em 0.3em 0.2em rgba(0,0,0,0.3);
  cursor:pointer;
    &:after{
        content:'';
        position:absolute;
        width: 0.9em;
        height:0.9em;
        border-radius: 50%;
        background: radial-gradient( #000000 0%, #000000 55%, #403C3A 70%);
    }
    &__pin{
        font-size: 0.6em;
    }

    &__rivet{
        position:absolute;
        width: 0.35em;
        height: 0.35em;
        border-radius: 50%;
        background: radial-gradient(#403C3A 0%, #000000 100%);
    }

}

@for $i from 1 through 16 {
  .multiplexer__pin:nth-child(#{1+$i}) {
    $width: 0.8em;
    $margin:0.22em;

    @if($i <= 8){
        top: -0.5em;
        left:calc((#{$width} + #{$margin}) * (#{$i} - 0.5));
 
    } 
    
    @if($i > 8){
         top: 2.7em;
         transform: scaleY(-1);
         left:calc( (#{$width} + #{$margin}) * (#{$i} - 0.5) - 8.2em);
    }
  }
}

@for $i from 1 through 4 {
  .square-button__pin:nth-child(#{$i}) {
    $width: 0.8em;
    $margin:0.28em;

    @if($i <= 2){
        top: -0.4em;
        left:calc((#{$width} + #{$margin}) * (#{$i} - 0.5));
 
    } 
    
    @if($i > 2){
         top: 2.6em;
         transform: scaleY(-1);
         left:calc( (#{$width} + #{$margin}) * (#{$i} - 0.5) - 2.1em);
    }
  }
}

@for $i from 1 through 4 {
  .square-button__rivet:nth-child(#{4 + $i}) {
    $width: 0.35em;
    $margin:0.35em;

    @if($i == 1 ){
        left: 0.1em;
    }
    @else if($i == 3){
        left: 0.1em;
    }
    @else{
        left:1.1em;
    }
    @if($i <= 2){
        top: 0.1em;
    } 
    
    @if($i > 2){
        top: 1.1em;

    }
  }
}

#wires{
    font-size: 1em;
    position:absolute;
    right:-6.2em;
    top:2em;
   
    width: 24em;
    z-index:4;
    filter:drop-shadow(0.5em 0.5em 0.2em rgba(0,0,0,0.3));
}

.wire{
    stroke:blue;
    stroke-miterlimit:10;
    fill:none;
    stroke-width:0.7em;

    &--yellow{

      stroke:#848110;
    }
    &--green{

      stroke: #086023;
    }
    &--red{
 
      stroke:#820B0B;
    }
    &--copper{
        stroke:#93500C;
        stroke-width:0.2em;
    }
}

.tin{
    position:absolute;
    border-radius:50%;
    width: 0.4em;
    height: 0.4em;
    background:radial-gradient( #AFAFB2 20%, #403C3A 45%, #AFAFB2 55%, #403C3A 80%,);
    z-index:5;
    top:9.6em;
    right:16.2em;

    &--2{
        top:10.8em;
    }

    &--3{
        top:12em;
    }
}

.confetti{
    position:absolute;
    z-index:6;
    left:40vw;
    top:calc(50vh + 10em);
    opacity: 0;
    transform: scale(1) rotate(0deg);
  
    width:1em;
    height:1em;
    border-radius:50%;
}
@keyframes bomb{
  0%{ transform: translateX(0) translateX(0) rotate(0)}
  14%{ transform: translateX(20em) translateY(0) rotate(0)}
  42%{ transform: translateX(20em) translateY(-10em) rotate(40deg)}
  56%{ transform: translateX(10em) translateY(0) rotate(-30deg)}
  70%{ transform: translateX(5em) translateY(5em) rotate(15deg)}
  84%{ transform: translateX(0) translateY(0) rotate(-10deg)}
  100%{ transform: translateX(0) translateY(0) rotate(0deg)}
}
