/* ob-shift-log — живой журнал смены Секретаря ИИ (01-SPEC.md §7.5). Дорожка В. */
ob-shift-log {
  --ob-shift-log-dot: 8px;       /* огонёк «смена идёт» в шапке окна */
  --ob-shift-log-shift: 6px;     /* сдвиг появления строки */
  --ob-shift-log-sum: 28px;      /* «36 ₽» крупно */
  display: block;
  width: 100%;
}

.ob-shift-log__win {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

.ob-shift-log__head {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--line);
  font-size: var(--fs-kick);
  color: var(--muted);
}
.ob-shift-log__live {
  flex: none;
  width: var(--ob-shift-log-dot);
  height: var(--ob-shift-log-dot);
  border-radius: 50%;
  background: var(--ok);
}
.ob-shift-log.is-running .ob-shift-log__live { animation: ob-shift-log-blink 1.4s var(--ease) infinite; }
@keyframes ob-shift-log-blink { 50% { opacity: .25; } }

/* Призрак списка задаёт высоту окна заранее, настоящий список лежит поверх — окно не прыгает */
.ob-shift-log__stack { display: grid; padding: var(--sp-2) var(--sp-4) var(--sp-3); }
.ob-shift-log__lines,
.ob-shift-log__ghost { grid-area: 1 / 1; list-style: none; margin: 0; padding: 0; }
.ob-shift-log__ghost { visibility: hidden; }
.ob-shift-log__lines:focus { outline: none; }
.ob-shift-log__lines:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 3px; }

.ob-shift-log__line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: var(--sp-3);
  align-items: baseline;
  padding: var(--sp-2) 0;
  border-bottom: 1px solid var(--line);
  font-size: var(--fs-small);
  line-height: 1.45;
  color: var(--ink);
}
.ob-shift-log__line:last-child { border-bottom: 0; }
.ob-shift-log__lines .ob-shift-log__line { animation: ob-shift-log-in var(--dur) var(--ease) both; }
@keyframes ob-shift-log-in {
  from { opacity: 0; transform: translateY(var(--ob-shift-log-shift)); }
  to { opacity: 1; transform: none; }
}

.ob-shift-log__time {
  font-family: var(--font-mono);
  font-size: var(--fs-kick);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.ob-shift-log__line--sum { align-items: center; padding-top: var(--sp-3); }
.ob-shift-log__sum {
  display: inline-block;
  margin-left: var(--sp-1);
  font-size: var(--ob-shift-log-sum);
  font-weight: 700;
  line-height: 1.1;
  color: var(--ok);
  white-space: nowrap;
}

.ob-shift-log__again { margin-top: var(--sp-4); }
.ob-shift-log__again[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .ob-shift-log.is-running .ob-shift-log__live,
  .ob-shift-log__lines .ob-shift-log__line { animation: none; }
}
