@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Rokkitt");
:root {
  --color: #000000;
  --font: 'Rokkitt';
}

.channel {
  -webkit-box-flex: 0;
          flex: none;
  position: relative;
  width: 3.25vmax;
  height: 3.25vmax;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  cursor: -webkit-grab;
}
.channel.is-moving {
  cursor: -webkit-grabbing;
}
.channel.is-moving .nibbles {
  background: rgba(var(--text), .1);
  -webkit-transition-duration: 0ms;
          transition-duration: 0ms;
}
.channel.hash {
  cursor: pointer;
  text-decoration: underline;
}

.nibbles {
  position: relative;
  -webkit-transform: translateY(var(--y));
          transform: translateY(var(--y));
  -webkit-transition: background 500ms linear, -webkit-transform 650ms ease-out;
  transition: background 500ms linear, -webkit-transform 650ms ease-out;
  transition: transform 650ms ease-out, background 500ms linear;
  transition: transform 650ms ease-out, background 500ms linear, -webkit-transform 650ms ease-out;
  pointer-events: auto;
  border-radius: .3em;
}

.nibble {
  padding: 50%;
  line-height: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  opacity: .3;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}
.nibble.current {
  border-radius: .3em;
  opacity: 1;
}
.nibble.current span {
  font-size: 2.5em;
}
.nibble span {
  font-size: 1.5em;
  -webkit-transition: font-size 200ms ease-out;
  transition: font-size 200ms ease-out;
}

.name {
  position: relative;
  white-space: nowrap;
  min-width: 15vmax;
}
.name small {
  font-weight: 300;
  position: absolute;
  top: calc(100% + .25em);
  left: 0;
  right: 0;
  opacity: .65;
}

.info {
  cursor: pointer;
  padding: 0;
  margin: 0 1em;
  width: 1.25em;
  height: 1.25em;
  font-size: 1.25em;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  border-radius: 2em;
  box-shadow: 0 0 .3em 0;
  -webkit-transition: 300ms linear;
  transition: 300ms linear;
  opacity: .35;
}
.info svg {
  width: 100%;
  fill: currentColor;
}

.show-details .nibble.current + .nibble {
  opacity: .05;
}
.show-details .info {
  box-shadow: 0 0 .5em 0, 0 0 0.1em;
  opacity: 1;
}
.show-details .channel:nth-child(1)::after {
  content: 'octothorp ↗︎';
  position: absolute;
  top: calc(100% + .25em);
  right: 100%;
  line-height: 1.3;
  white-space: nowrap;
}
.show-details .channel:nth-child(even)::after {
  content: '';
  position: absolute;
  top: calc(100% + .25em);
  left: 0%;
  width: 200%;
  line-height: 1.3;
  text-align: center;
}
.show-details .channel:nth-child(2)::after {
  content: 'red';
  box-shadow: 1px 0 0 0;
}
.show-details .channel:nth-child(4)::after {
  content: 'green';
  box-shadow: 1px 0 0 0, -1px 0 0 0;
}
.show-details .channel:nth-child(6)::after {
  content: 'blue';
  box-shadow: -1px 0 0 0;
}
.show-details footer {
  opacity: .5;
}

body {
  margin: 0;
  height: 100vh;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  font-family: var(--font), Helvetica, Arial, sans-serif;
  background: var(--color);
  -webkit-transition: background 300ms linear;
  transition: background 300ms linear;
  background-image: radial-gradient(circle at center, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0.2));
  color: rgb(var(--text));
  overflow: hidden;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
}

main {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  justify-content: space-around;
}

footer {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 1em;
  opacity: 0;
  -webkit-transition: opacity 500ms linear;
  transition: opacity 500ms linear;
}
footer a {
  color: inherit;
}