/* IQAI Artificial Brain — Working Set
   Public concepts respond to attention without implying an internal system topology. */

.ab-working-set{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}

.ab-working-set svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}

.ab-working-set .ab-working-line{
  fill:none;
  stroke:#595959;
  stroke-width:.85;
  stroke-dasharray:3 6;
  vector-effect:non-scaling-stroke;
  opacity:.16;
  transition:opacity 220ms ease,stroke-dashoffset 520ms cubic-bezier(.22,1,.36,1);
}

.ab-working-set .ab-working-line.is-active{
  opacity:.48;
  stroke-dasharray:60;
  stroke-dashoffset:60;
  animation:abWorkingDraw 540ms cubic-bezier(.22,1,.36,1) forwards;
}

@keyframes abWorkingDraw{to{stroke-dashoffset:0}}

.ab-working-label{
  position:absolute;
  transform:translate(-50%,-50%);
  padding:5px 7px;
  background:rgba(244,244,244,.82);
  border:1px solid rgba(91,91,91,.16);
  font-size:9px;
  line-height:1;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#656565;
  opacity:.34;
  transition:
    opacity 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    transform 280ms cubic-bezier(.22,1,.36,1),
    background 180ms ease;
}

.ab-working-label.is-neighbor{
  opacity:.58;
}

.ab-working-label.is-active{
  opacity:1;
  color:#212121;
  background:rgba(255,255,255,.94);
  border-color:#636363;
  transform:translate(-50%,-50%) scale(1.06);
}

.ab-working-label[data-ab-working="context"]{left:23%;top:28%}
.ab-working-label[data-ab-working="reasoning"]{left:75%;top:26%}
.ab-working-label[data-ab-working="examination"]{left:80%;top:58%}
.ab-working-label[data-ab-working="memory"]{left:22%;top:62%}
.ab-working-label[data-ab-working="judgment"]{left:54%;top:78%}

.ab-working-set-note{
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  font-size:8.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#818181;
  white-space:nowrap;
}

.ab-stage-controls{z-index:5}
.ab-monogram{z-index:4}

@media(max-width:760px){
  .ab-working-set{display:none}
}

@media(prefers-reduced-motion:reduce){
  .ab-working-label,.ab-working-line{transition:none!important;animation:none!important}
  .ab-working-set .ab-working-line.is-active{stroke-dashoffset:0}
}
