/* packages/ui/states.css
   Слот и общие примитивы для пяти состояний экрана (загрузка/пусто/ошибка/…).
   Сами состояния как компоненты здесь НЕ реализуются — их проектирует блок
   console-core-access-edge. Этот файл только резервирует место и стили.
*/

.state {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  color: var(--ink-3);
  text-align: center;
  padding: 2rem;
}
.spinner {
  width: 26px;
  height: 26px;
  border: 3px solid var(--surface-2);
  border-top-color: var(--blue);
  border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
.empty {
  padding: 2.5rem 1rem;
  text-align: center;
  color: var(--ink-3);
  font-size: .9rem;
  line-height: 1.6;
}

.state.warn { color: var(--warn); }
.state .code { font-family: var(--mono); }
.state .hint { font-size: .9rem; }

/* console-core-access-edge, Шаг 9: пять состояний экрана поверх renderState. */
.state .retry {
  border: 1px solid var(--focus);
  background: var(--surface);
  color: var(--blue);
  border-radius: 6px;
  padding: .45rem 1rem;
  font-size: .9rem;
  cursor: pointer;
}
.state .retry:hover {
  background: var(--surface-3);
}
.state .retry:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.state .svc {
  color: var(--warn);
  font-size: .9rem;
  border-top: 1px solid var(--divider);
  padding-top: .5rem;
}
