*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{

  height:100vh;

  display:flex;
  justify-content:center;
  align-items:center;

  overflow:hidden;

  background:
  linear-gradient(135deg,#020617,#0f172a,#111827);

  font-family:'Poppins',sans-serif;

  position:relative;
}

/* Blur Circles */

.blur{

  position:absolute;

  border-radius:50%;

  filter:blur(120px);

  animation:move 6s infinite alternate;
}

.one{

  width:300px;
  height:300px;

  background:#00c6ff;

  top:-100px;
  left:-100px;
}

.two{

  width:350px;
  height:350px;

  background:#ff00ff;

  bottom:-100px;
  right:-100px;
}

@keyframes move{

  from{
    transform:translateY(0);
  }

  to{
    transform:translateY(40px);
  }

}

/* Calculator */

.calculator{

  width:380px;

  max-width:90%;

  padding:25px;

  border-radius:30px;

  background:
  rgba(255,255,255,0.08);

  backdrop-filter:blur(18px);

  border:
  1px solid rgba(255,255,255,0.1);

  box-shadow:
  0 10px 35px rgba(0,0,0,0.5);

  z-index:10;
}

/* Top Bar */

.top-bar{

  display:flex;

  justify-content:space-between;

  align-items:center;

  margin-bottom:15px;
}

.dots{

  display:flex;

  gap:8px;
}

.dots span{

  width:12px;
  height:12px;

  border-radius:50%;
}

.dots span:nth-child(1){
  background:#ff5f56;
}

.dots span:nth-child(2){
  background:#ffbd2e;
}

.dots span:nth-child(3){
  background:#27c93f;
}

/* Theme Button */

.theme-btn{

  border:none;

  background:#1f2937;

  color:white;

  width:40px;
  height:40px;

  border-radius:50%;

  cursor:pointer;

  font-size:18px;
}

/* Title */

h1{

  text-align:center;

  color:white;

  margin-bottom:20px;

  font-size:30px;

  font-family:'Orbitron',sans-serif;
}

/* History */

#history{

  color:#94a3b8;

  text-align:right;

  min-height:20px;

  margin-bottom:8px;

  font-size:15px;
}

/* Display */

.display-box{

  background:#111827;

  border-radius:20px;

  padding:20px;

  margin-bottom:25px;

  box-shadow:
  inset 0 0 20px rgba(0,0,0,0.8);
}

#display{

  width:100%;

  border:none;
  outline:none;

  background:transparent;

  color:white;

  font-size:2rem;

  text-align:right;

  font-family:'Orbitron',sans-serif;

  letter-spacing:1px;
}

/* Buttons */

.buttons{

  display:grid;

  grid-template-columns:repeat(4,1fr);

  gap:15px;
}

button{

  height:72px;

  border:none;

  border-radius:20px;

  cursor:pointer;

  color:white;

  font-size:24px;

  font-weight:600;

  letter-spacing:1px;

  transition:0.2s ease;

  box-shadow:
  5px 5px 10px rgba(0,0,0,0.4),
  inset -2px -2px 4px rgba(255,255,255,0.04);
}

/* Hover */

button:hover{

  transform:translateY(-3px);

  box-shadow:
  0 0 15px rgba(255,255,255,0.25);
}

/* Click */

button:active{

  transform:scale(0.95);
}

/* Colors */

.number{

  background:#4b5563;
}

.operator{

  background:
  linear-gradient(135deg,#ff416c,#ff4b2b);
}

.special{

  background:
  linear-gradient(135deg,#6366f1,#8b5cf6);
}

.equal{

  background:
  linear-gradient(135deg,#00c6ff,#0072ff);

  grid-column:span 2;
}

/* Plus Button */

.plus{

  grid-row:span 2;

  height:160px;
}

/* Zero Button */

.zero{

  grid-column:span 2;
}

/* Light Theme */

.light-mode{

  background:#f1f5f9 !important;

  color:black;
}

.light-mode .display-box{

  background:white;
}

.light-mode #display{

  color:black;
}

.light-mode button{

  color:white;
}

/* Responsive */

@media(max-width:450px){

  .calculator{

    width:95%;
  }

  button{

    height:65px;

    font-size:20px;
  }

  .plus{

    height:145px;
  }

}