:root {
  --cyan: rgba(159, 189, 178, 1);
  --dark-cyan: rgba(92, 110, 104, 1);
  --dark-cyan-semi: rgba(92, 110, 104, 0.7);
  --dark: rgba(6, 5, 8, 1);
  --dark-semi: rgba(6, 5, 8, 0.8);
  --success: rgba(41, 125, 51, 1);
  --fail: rgba(202, 70, 70, 1);
  --speed: .25s;
  --ultra-speed: .05s;
}
[tooltip] {
  pointer-events: none;
}
[tooltip]:before, [tooltip]:after
{
  display: none;
}
body {
  background: var(--dark);
  font-family: sans-serif;
  padding: 0;
  margin: 0;
}
.header {
  display: flex;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
  margin: 2em 0 0 0.3em;
}
.settings {
  display: flex;
  flex-direction: column;
  width: max-content;
}
fieldset {
  border: 1px solid var(--cyan);
  display: flex;
  flex-direction: column;
}
fieldset legend {
  background: var(--cyan);
  color: var(--dark);
  padding: 0.2em 0.5em;
  border: 2px solid var(--dark);
  border-width: 0 0.3em;
  border-radius: 0.3em;
}
input[type="radio"] {
  border: 1px solid var(--dark-cyan);
  color: var(--cyan);
  accent-color: var(--cyan);
  transform: scale(1.5);
  margin: 0.6em 0.5em;
}
label {
  color: var(--cyan);
}
.bindings {
  padding: 1em;
  display: flex;
  flex-direction: row;
}
.bindings .column {
  padding: 0 0.3em;
}
.bindings .column > div {
  display: flex;
  align-items: center;
  margin-bottom: 0.4em;
}
.binding {
  width: 4em;
  height: 2.5em;
  border-radius: 0.3em;
  border: 1px solid var(--dark-cyan);
  background: var(--cyan);
  text-align: center;
  color: var(--dark);
  margin-right: 0.5em;
  font-size: 1.05em;
  align-items: center;
  display: flex;
  justify-content: center;
  cursor: pointer;
}
.game {
  padding: 2em;
  display: flex;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
  position: relative;
}
.blurred {
  filter: blur(10px);
  opacity: 0.3;
}
.lock {
  position: relative;
  width: 100%;
  height: 100%;
}
.lock.top {
  width: 25em;
  height: 25em;
  margin: 1em;
}
.lock-outer {
  display: inline-block;
  overflow: hidden;
}
.lock-outer > div {
  overflow: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.lock-outer-circle, .pick-outer-circle {
  position: absolute;
  width: 90%;
  height: 90%;
  background: var(--cyan);
  border-radius: 50%;
}
.segment {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vw;
  background: var(--dark);
  transform-origin: 0 0;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
  z-index: 0;
}
.lock-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 90%;
  height: 90%;
  transform: translateX(-50%) translateY(-50%);
  background: var(--dark);
  border-radius: 50%;
  z-index: 1;
}
.lock-inner .lock {
  opacity: 0.55;
}
.picks {
  display: flex;
  max-width: 40em;
  flex-wrap: wrap;
}
.picks > div {
  width: 10em;
  height: 10em;
  position: relative;
  cursor: pointer;
}
.pick-outer {
  display: inline-block;
}
.pick {
  opacity: 0.4;
}
.lock.top .pick {
  opacity: 1;
}
.pick.active {
  opacity: 1;
}
.picks .lock-outer-circle, .pick > div > .lock-outer-circle {
  background: var(--dark);
  border-width: 3px;
  border-color: var(--cyan);
  border-style: dashed;
  width: 90%;
  height: 90%;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
}
.picks .lock-outer-circle, .pick > div > .lock-outer-circle.wrong {
  border-color: var(--fail);
  border-width: 5px;
}
.picks .lock-outer-circle, .pick > div > .lock-outer-circle.correct {
  border-color: var(--success);
  border-width: 5px;
}
.picks .lock-outer-circle.disabled {
  opacity: 0.4;
  cursor: default;
}
.lock-outer.pick > div {
  overflow: hidden;
  position: absolute;
  width: 97%;
  height: 97%;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.picks .segment, .pick > div > .lock-outer-circle > .segment {
  background: var(--cyan);
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
}
.picks .segment, .pick > div > .lock-outer-circle.wrong > .segment {
  background: var(--fail);
}
.picks .segment, .pick > div > .lock-outer-circle.correct > .segment {
  background: var(--success);
}
.picks .lock-inner {
  width: 80%;
  height: 80%;
}
.popup {
  position: absolute;
  left: 20%;
  top: 20%;
  background: var(--dark-cyan);
  border: 1px solid var(--cyan);
  padding: 4em;
  border-radius: 0.5em;
  z-index: 2;
  min-width: 20vw;
}
.popup-message {
  display: flex;
  align-items: center;
}
.popup-message p {
  color: var(--cyan);
  text-shadow: 0 0px 3px var(--dark);
  margin: 1em 0;
}
.popup-icon {
  font-size: 2em;
  margin-right: 1em;
}
.popup-buttons {
  display: flex;
  justify-content: space-between;
  padding: 1em 0;
}
a.twitter-share-button {
  margin: 0.6em 0;
  text-decoration: none;
  background-color: #1da1f2;
  background-image: url(tweet.png);
  padding: 0.3em 0.8em 0.3em 2.4em;
  background-size: 2em;
  background-repeat: no-repeat;
  border-radius: 1.5em;
  background-position: 0.3em center;
  color: #FFFFFF;
}
button/*.popup-button, button#randomseed, button.rotate*/ {
  border: 1px solid var(--cyan);
  background: var(--cyan);
  padding: 0.8em 2em;
  border-radius: 0.2em;
  cursor: pointer;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
  color: var(--dark);
}
button:hover {
  background: var(--dark-cyan);
}
.rotate-buttons {
  position: absolute;
  width: 27em;
  bottom: 0em;
  display: flex;
  justify-content: space-between;
}
button.rotate {
  width: 1.5em;
  padding: 0;
  height: 1.5em;
  font-size: 2.5em;
}
button#rotate_cw {
  right: 0;
}
button#button_undo {
  position: fixed;
  top: 1em;
  left: 1em;
}
button.popup-button:hover {
  background: var(--dark-cyan);
}
.popup-close {
  position: absolute;
  color: var(--cyan);
  top: 0;
  right: 0;
  padding: 0.5em;
  font-size: 1.3em;
  cursor: pointer;
}
.popup-close::after {
  content: "\2715";
}
.stats > div {
  color: var(--cyan);
  padding: 0.3em 1em;
  font-size: 1.5em;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#picks-left {
  border: 1px solid var(--dark-cyan);
  background: var(--cyan);
  color: var(--dark);
  padding: 0.2em 0.4em;
  margin-left: 1em;
  border-radius: 0.2em;
}
input#seed {
  border: 1px solid var(--cyan);
  background: var(--dark-cyan);
  color: var(--cyan);
  padding: 0 0.6em;
  line-height: 2.5em;
  font-size: 1em;
  border-radius: 0.3em;
  -moz-appearance: textfield;
}
input#seed::-webkit-inner-spin-button {
  opacity: 0.4;
  background: var(--dark-cyan);
  color: var(--cyan);
  cursor: pointer;
  -webkit-appearance: none !important;
  width: 1.5em;
  height: 2.5em;
  outline: none;
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%220%200%2045%2067%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke-width%3D%222%22%3E%3Cline%20x1%3D%2215%22%20x2%3D%2240%22%20y1%3D%2233.5%22%20y2%3D%2233.5%22%20stroke%3D%22%239FBDB2%22%2F%3E%3Cpolyline%20transform%3D%22translate(30%2020)%20rotate(45)%20translate(-25%20-20)%22%20points%3D%2219%2032%2019%2017%2034%2017%22%20stroke%3D%22%239FBDB2%22%2F%3E%3Cpolyline%20transform%3D%22translate(25%2047)%20rotate(225)%20translate(-25%20-45)%22%20points%3D%2219%2058%2019%2043%2034%2043%22%20stroke%3D%22%239FBDB2%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  background-position: center right;
  background-size: contain;
  background-repeat: no-repeat;
  caret-color: transparent;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
}
input#seed::-webkit-inner-spin-button:hover {
  opacity: 1;
}
.tutorial {
  position: absolute;
  opacity: 1;
  background: var(--dark-cyan-semi);
  z-index: 1;
  display: flex;
  padding: 3em;
  flex-direction: column;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
  box-sizing: border-box;
  border: 2px solid var(--dark-cyan);
  border-radius: 3em;
  margin: 1em;
  box-shadow: 0px 1px 18px var(--dark-cyan);
}
.tutorial.hidden {
  opacity: 0;
}
.tutorial h1 {
  color: var(--cyan);
  text-shadow: 0px 0px 6px var(--dark);
  font-weight: normal;
  font-size: 2.5em;
  margin-top: 0;
}
.tutorial p {
  color: var(--cyan);
  text-shadow: 0 0 6px var(--dark);
  font-size: 1.1em;
  margin: 0.4em 0;
}
a.tutor-link {
  color: var(--cyan);
  text-shadow: 0 0 10px var(--dark);
  text-decoration: underline;
  font-size: 1.8em;
  text-underline-offset: 0.15em;
  text-decoration-thickness: 0.05em;
  letter-spacing: 0.1em;
  cursor: pointer;
  -webkit-transition: all var(--speed) ease-in-out;
  -moz-transition: all var(--speed) ease-in-out;
  -o-transition: all var(--speed) ease-in-out;
  transition: all var(--speed) ease-in-out;
  margin-top: 1em;
}
a.tutor-link:hover {
  text-shadow: 0 0 20px var(--dark);
}
.tutorbuttons {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: auto;
}
.tutorial.intro {
  top: 0;
  height: 90%;
  width: 60%;
}
.tutorial.tutorlock {
  top: 0;
  left: 30em;
  width: 40em;
}
.tutorial.tutorpicks {
  top: 12em;
  width: 60em;
  left: 20em;
}
.tutorial.settings {
  top: 4em;
  width: 60%;
}
button#help {
  height: 1.5em;
  font-size: 2.5em;
  width: 1.5em;
  padding: 0;
  position: fixed;
  top: 1em;
  left: 10em;
}
.tooltip {
  opacity: 0;
  position: absolute;
  background: var(--cyan);
  color: var(--dark);
  font-size: 1.1em;
  padding: 0.2em 0.2em 0.2em 0.7em;
  border-radius: 0.2em;
  z-index: 2;
  -webkit-transition: all var(--ultra-speed) ease-in-out;
  -moz-transition: all var(--ultra-speed) ease-in-out;
  -o-transition: all var(--ultra-speed) ease-in-out;
  transition: all var(--ultra-speed) ease-in-out;
}
.tooltip.visible {
  opacity: 1;
}
