body {overflow: hidden; background: #212121}
input {position: absolute; display: none}

* {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.menu {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -25px;
  margin-top: -25px;
}

.btn {
  width: 70px;
  height: 70px;
  border-radius: 70px;
  position: absolute;
  overflow: hidden;
  cursor: pointer;
}

.material-icons.md-36 { font-size: 36px; color: #FFFFFF }

.btn {
  background: rgba(0,0,0,0.24);
  font-size: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  
  -webkit-transition: all 0.3s cubic-bezier(.25,.8,.25,1);
  transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.btn:not(:first-child) {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  z-index: -2;
  
  -webkit-transition: all 0.6s cubic-bezier(.87,-.41,.19,1.44);
  transition: all 0.6s cubic-bezier(.87,-.41,.19,1.44);
}

.btn:nth-child(2) {top:0px;-webkit-transition-delay: 0s;transition-delay: 0s}
.btn:nth-child(3) {top:0px;left:0px;-webkit-transition-delay: 0.1s;transition-delay: 0.1s}
.btn:nth-child(4) {left:0px;;-webkit-transition-delay: 0.2s;;transition-delay: 0.2s}
.btn:nth-child(5) {top:0px;left:0px;-webkit-transition-delay: 0.3s;transition-delay: 0.3s}
.btn:nth-child(6) {top:0px;-webkit-transition-delay: 0.4s;transition-delay: 0.4s}
.btn:nth-child(7) {top:0px;left:0px;-webkit-transition-delay: 0.5s;transition-delay: 0.5s}
.btn:nth-child(8) {left:0px;-webkit-transition-delay: 0.6s;transition-delay: 0.6s}
.btn:nth-child(9) {top:0px;left:0px;-webkit-transition-delay: 0.7s;transition-delay: 0.7s}

input#toggle:checked ~ #show-menu .btn:nth-child(2) {
  top:-150px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input#toggle:checked ~ #show-menu .btn:nth-child(3) {
  top:-100px;left:100px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input#toggle:checked ~ #show-menu .btn:nth-child(4) {
  left:150px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input#toggle:checked ~ #show-menu .btn:nth-child(5) {
  top :100px;left:100px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input#toggle:checked ~ #show-menu .btn:nth-child(6) {
  top:150px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input#toggle:checked ~ #show-menu .btn:nth-child(7) {
  top:100px;left:-100px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input#toggle:checked ~ #show-menu .btn:nth-child(8) {
  left:-150px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input#toggle:checked ~ #show-menu .btn:nth-child(9) {
  top:-100px;left:-100px;opacity:1;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.menuBtn, .closeBtn {
  position: absolute;
  transition: all 0.3s ease;
}

.closeBtn {
  transform: translateY(50px);
  opacity: 0;
}

input#toggle:checked ~ #show-menu .btn .menuBtn {
  transform: translateY(-50px);
  opacity: 0;
}

input#toggle:checked ~ #show-menu .btn .closeBtn {
  transform: translateY(0px);
  opacity: 1;
}

/* Second Ring Buttons - Initial State */
.btn:nth-child(10) { top: -220px; opacity: 0; transition-delay: 0s; }
.btn:nth-child(11) { top: -155px; left: 155px; opacity: 0; transition-delay: 0.1s; }
.btn:nth-child(12) { left: 220px; opacity: 0; transition-delay: 0.2s; }
.btn:nth-child(13) { top: 155px; left: 155px; opacity: 0; transition-delay: 0.3s; }
.btn:nth-child(14) { top: 220px; opacity: 0; transition-delay: 0.4s; }
.btn:nth-child(15) { top: 155px; left: -155px; opacity: 0; transition-delay: 0.5s; }
.btn:nth-child(16) { left: -220px; opacity: 0; transition-delay: 0.6s; }
.btn:nth-child(17) { top: -155px; left: -155px; opacity: 0; transition-delay: 0.7s; }

/* When Menu is Open */
input#toggle:checked ~ #show-menu .btn:nth-child(10) {
  top: -280px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(11) {
  top: -200px; left: 200px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(12) {
  left: 280px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(13) {
  top: 200px; left: 200px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(14) {
  top: 280px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(15) {
  top: 200px; left: -200px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(16) {
  left: -280px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(17) {
  top: -200px; left: -200px; opacity: 1;
}

/* Third Ring - Initial State */
.btn:nth-child(18) { top: -250px; left: 75px; opacity: 0; transition-delay: 0s; }
.btn:nth-child(19) { top: -175px; left: 225px; opacity: 0; transition-delay: 0.1s; }
.btn:nth-child(20) { top: 75px; left: 250px; opacity: 0; transition-delay: 0.2s; }
.btn:nth-child(21) { top: 225px; left: 175px; opacity: 0; transition-delay: 0.3s; }
.btn:nth-child(22) { top: 250px; left: -75px; opacity: 0; transition-delay: 0.4s; }
.btn:nth-child(23) { top: 175px; left: -225px; opacity: 0; transition-delay: 0.5s; }
.btn:nth-child(24) { top: -75px; left: -250px; opacity: 0; transition-delay: 0.6s; }
.btn:nth-child(25) { top: -225px; left: -175px; opacity: 0; transition-delay: 0.7s; }

/* When Menu is Open */
input#toggle:checked ~ #show-menu .btn:nth-child(18) {
  top: -310px; left: 90px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(19) {
  top: -215px; left: 280px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(20) {
  top: 90px; left: 310px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(21) {
  top: 280px; left: 215px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(22) {
  top: 310px; left: -90px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(23) {
  top: 215px; left: -280px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(24) {
  top: -90px; left: -310px; opacity: 1;
}
input#toggle:checked ~ #show-menu .btn:nth-child(25) {
  top: -280px; left: -215px; opacity: 1;
}


/* Top-Right Controls */
.top-right-controls {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  gap: 15px;
}

.control-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s ease-in-out, transform 0.2s ease-in-out;
}

.control-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.material-icons.md-36 {
  font-size: 36px;
  color: #fff;
}
