@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap');

:root {
    --button-border-color: rgb(107, 107, 107);
    --calc-border-color: rgb(57, 57, 57);
    --screen-bg-color: rgb(227, 233, 238);
    --input-text-color: rgb(132, 132, 132);
    --result-text-color: rgb(36, 36, 36);
    --body-bg-color1: rgb(235, 235, 235);
    --body-bg-color2: rgb(244, 244, 244);
    --button-ac-color: white;
    --calc-bg-color: rgb(196, 196, 196);
    --button-bg-color: rgb(226, 219, 196);
    --theme-text-color: black;

}

:root .dark{
    --button-border-color: white;
    --button-ac-color: antiquewhite;
    --calc-border-color: rgb(193, 193, 193);
    --screen-bg-color: rgb(227, 233, 238);
    --input-text-color: rgb(132, 132, 132);
    --result-text-color: rgb(36, 36, 36);
    --body-bg-color1: rgba(0,0,0);
    --body-bg-color2: rgb(58, 58, 58);
    --calc-bg-color: transparent;
    --button-bg-color: transparent;
    --theme-text-color: white;
}

.mode {
    display: flex;
    margin: auto;
    padding: 15px;
    gap: 1rem;
    color: var(--theme-text-color);
    width: auto;
    justify-content: center;
    align-items: center;
}

.mode > div {
    font-size: 15px;
    text-align: center;
}

.switch {
    position: relative;
    display: inline-block;
    width: clamp(60px, 10vw, 60px);
    height: 34px;
  }
  
  .switch input { 
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
  }
  
  .slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
  }
  
  input:checked + .slider {
    background-color: #2196F3;
  }
  
  input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
  }
  
  input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
  }
  
.slider.round {
    border-radius: 34px;
  }
  
  .slider.round:before {
    border-radius: 50%;
  }

body {
    font-family: 'Ubuntu', sans-serif;
    background: linear-gradient(-60deg,var(--body-bg-color1),var(--body-bg-color2));
    background-repeat: repeat;
    height: 100vh;
    width: 100%;
    font-size: 12px;

}

.buttons {
    display: grid;
    grid-template-areas: 
    "top top top side"
    "mid mid mid side"
    "mid mid mid side"
    "mid mid mid side"
    "mid mid mid side"
    ;
    margin: 1.5rem;
    gap: clamp(1px,5vw,10px);
}


#top-button{
    grid-area: top;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}


#central-button {
    display: grid;
    grid-area: mid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0px;

}

#side-button {
    display: grid;
    grid-area: side;
    grid-template-rows: repeat(5, 1fr);
    gap: 5px;
}

#button-plus {
    grid-row: auto / span 2;
    background-color: rgb(30, 89, 44);
    color: var(--button-ac-color);
}

#button-ac {
    background-color: rgb(78, 26, 26);
    color: var(--button-ac-color);
}

#button-equal {
    background-color: rgb(51, 97, 157);
    color: var(--button-ac-color);
}



.button {
    color: var(--button-border-color);
    font-size: 200%;
    padding: 1rem;
    border: 1px solid var(--button-border-color);
    border-radius: 5px;
    text-align: center;
    width: clamp(35%, 50px);
    background-color: var(--button-bg-color);
    margin: 1px;
}



.calculator {
    height: auto;
    width: clamp(330px, 30vw, 350px);
    margin: 2% auto;
    border-radius: 15px;
    border: 2px solid var(--calc-border-color);
    background-color: var(--calc-bg-color);
}

.screen {
    min-height: 100px;
    width: 90%;
    background-color: var(--screen-bg-color);
    margin: 30px auto;
    border-radius: 8px;
    font-family: 'Play';
    text-align: right;
    padding: 0 10px;
    box-sizing: border-box;


}

.input {
    height: 50%;
    font-size: 2rem;
    color: var(--input-text-color);
    display: flex;
    overflow: hidden;
    justify-content: flex-end;

}

.result {
    font-size: 3rem;
    text-align: right;
    height: 50%;
    color: var(--result-text-color);
}