.preview-body {
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  padding:24px;
  isolation:isolate
}
.preview-rings {
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none
}
.preview-idle,.preview-active {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  width:100%;
  text-align:center;
  position:relative;
  z-index:1
}
.preview-idle h2 {
  font-size:23px;
  letter-spacing:-.035em;
  line-height:1.2
}
.preview-idle p {
  color:var(--muted);
  margin:10px 0 20px;
  max-width:32ch
}
.preview-idle .preview-note {
  font-size:12px;
  margin:12px 0 0;
  max-width:36ch
}
.btn-call,.btn-hangup {
  height:40px
}
.preview-active .call-status-badge {
  color:var(--accent);
  font-weight:600
}
.pulsing-dot {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--positive);
  margin-right:7px
}
.call-instruction {
  margin:0 0 22px;
  color:var(--muted)
}
.preview-footer {
  height:32%;
  min-height:190px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  background:var(--surface)
}
.footer-tabs {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:11px 17px;
  font-weight:600;
  border-bottom:1px solid var(--line)
}
.footer-tab-content {
  overflow:auto;
  flex:1;
  min-height:0;
  padding:10px 17px;
  scrollbar-width:none
}
.log-stream {
  font:11px/1.55 var(--mono);
  overflow-wrap:anywhere
}
.log-entry {
  padding:4px 0;
  color:var(--muted)
}
.log-entry.error {
  color:var(--negative)
}
.log-entry.event {
  color:var(--accent)
}
.log-entry.agent {
  color:var(--ink)
}
