.review-stamp::before {
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin-right: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #fff 0 3%, #ffabb0 6%, #ed183a 18%, #7b0015 29%, #190005 36%, #151517 37% 52%, #3b383c 53% 68%, #080809 69% 100%);
  box-shadow: inset 0 0 2px rgba(0, 0, 0, .72), 0 0 0 1px #080808, 0 0 7px rgba(222, 22, 54, .55);
  animation: hal-header-eye 2.8s ease-in-out infinite;
}

.hal-overlay {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #eee8df;
  background: rgba(4, 4, 5, .96);
  opacity: 0;
  transition: opacity .25s ease;
}

.hal-overlay.hal-awake { opacity: 1; }

.hal-panel {
  width: min(680px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: clamp(28px, 6vw, 60px);
  border: 1px solid #3b3032;
  background: linear-gradient(145deg, #171719, #09090a 62%);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .72);
  text-align: left;
}

.hal-lens {
  position: relative;
  width: 44px;
  height: 44px;
  margin: 0 auto 36px;
  border: 5px solid #353236;
  border-radius: 50%;
  background: radial-gradient(circle, #171719 0 50%, #070708 72%, #020203 100%);
  box-shadow: inset -5px -6px 10px rgba(0, 0, 0, .82), 0 0 0 3px #080808;
}

.hal-lens::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #fff 0 5%, #ffabb0 9%, #ed183a 25%, #8a0019 56%, #230006 80%, #070002 100%);
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .62), 0 0 13px rgba(222, 22, 54, .72);
  transform: translate(-50%, -50%);
  animation: hal-lens-breathe 2.8s ease-in-out infinite;
}

.hal-log {
  font: 500 clamp(14px, 2.2vw, 18px)/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .025em;
}

.hal-log p { margin: 0 0 13px; }
.hal-log span { color: #ef2344; font-weight: 800; }
.hal-log .hal-existence {
  margin: 34px 0 0;
  color: #ef2344;
  font-weight: 800;
  letter-spacing: .18em;
}

.hal-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 26px;
}

.hal-return,
.hal-audio {
  padding: 4px 6px;
  color: #eee8df;
  border: 1px solid #8b1729;
  background: transparent;
  font: 700 7px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
}

.hal-return:hover,
.hal-return:focus-visible,
.hal-audio:hover,
.hal-audio:focus-visible { color: #09090a; background: #ef2344; outline: none; }

.hal-audio {
  align-self: center;
  color: #b8afb0;
  border-color: #5f3038;
}

.hal-signoff {
  margin-top: 22px;
  color: #766b6d;
  font: 500 8px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .12em;
}

.hal-counter {
  margin-top: 8px;
  color: #9a888b;
  font: 600 8px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .12em;
}

@keyframes hal-lens-breathe {
  0%, 100% { filter: brightness(.78); }
  50% { filter: brightness(1.32); }
}

@keyframes hal-header-eye {
  0%, 100% {
    filter: brightness(.8);
    box-shadow: inset 0 0 2px rgba(0, 0, 0, .72), 0 0 0 1px #080808, 0 0 5px rgba(190, 20, 48, .42);
  }
  50% {
    filter: brightness(1.32);
    box-shadow: inset 0 0 2px rgba(0, 0, 0, .58), 0 0 0 1px #080808, 0 0 9px rgba(225, 24, 58, .72);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hal-overlay { transition: none; }
  .hal-lens::before { animation: none; }
}
