﻿:root {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  background: var(--color-background);
  color: var(--color-text);
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-strong) var(--color-background);
}

*, *::before, *::after{
  box-sizing: border-box;
}

body {
  margin: 0;
}

/*SCROLLBAR*/
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--color-background);
}

::-webkit-scrollbar-thumb {
  background-color: var(--color-border-strong);
  border-radius: 1rem;
  border: 2px solid var(--color-background);
  background-clip: padding-box;
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-border-secondary);
  background-clip: padding-box;
}
/*SCROLLBAR*/

/*TOASTR*/
.toast-region {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 1200;
  display: grid;
  gap: 0.75rem;
  width: min(24rem, calc(100vw - 2rem));
  pointer-events: none;
}

.vexo-toast {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  border: 1px solid var(--color-toast-border);
  border-radius: 0.9rem;
  padding: 1rem;
  background: var(--color-toast-surface);
  box-shadow: 0 1rem 2.5rem var(--color-toast-shadow);
  pointer-events: auto;
}

.toast-copy {
  display: grid;
  gap: 0.35rem;
}

.toast-title {
  font-size: 0.95rem;
  line-height: 1.2;
  color: var(--color-toast-title);
}

.toast-message {
  margin: 0;
  color: var(--color-toast-text);
  line-height: 1.5;
}

.toast-close {
  border: 0;
  background: transparent;
  color: var(--color-toast-close);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.vexo-toast[data-variant="error"] {
  border-color: var(--color-error-surface);
  background: var(--color-error-surface);
}

.vexo-toast[data-variant="error"] .toast-title,
.vexo-toast[data-variant="error"] .toast-message,
.vexo-toast[data-variant="error"] .toast-close {
  color: var(--color-error-text);
}

.vexo-toast[data-variant="info"] {
  border-color: var(--color-toast-info-border);
  background: var(--color-toast-info-surface);
}

.vexo-toast[data-variant="info"] .toast-title,
.vexo-toast[data-variant="info"] .toast-message,
.vexo-toast[data-variant="info"] .toast-close {
  color: var(--color-toast-info-text);
}

.vexo-toast[data-variant="success"] {
  border-color: var(--color-toast-success-border);
  background: var(--color-toast-success-surface);
}

.vexo-toast[data-variant="success"] .toast-title,
.vexo-toast[data-variant="success"] .toast-message,
.vexo-toast[data-variant="success"] .toast-close {
  color: var(--color-toast-success-text);
}

.vexo-toast[data-variant="warning"] {
  border-color: var(--color-toast-warning-border);
  background: var(--color-toast-warning-surface);
}

.vexo-toast[data-variant="warning"] .toast-title,
.vexo-toast[data-variant="warning"] .toast-message,
.vexo-toast[data-variant="warning"] .toast-close {
  color: var(--color-toast-warning-text);
}

@media (max-width: 640px) {
  .toast-region {
    top: 1rem;
    right: 1rem;
    left: 1rem;
    width: auto;
  }
}
/*TOASTR*/

/*SPINNER*/
.spinner-backdrop {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(7, 17, 31, 0.78);
  z-index: 1300;
  pointer-events: auto;
}

.spinner-panel {
  display: grid;
  justify-items: center;
  gap: 0.85rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: 0.9rem;
  background: var(--color-surface);
}

.spinner-ring {
  width: 2.25rem;
  height: 2.25rem;
  border: 3px solid var(--color-border-secondary);
  border-top-color: var(--color-primary);
  border-radius: 999px;
  animation: spinner-rotate 0.85s linear infinite;
}

.spinner-message {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.95rem;
}

@keyframes spinner-rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
/*SPINNER*/
/* Agent download call-to-action (partials/agent_download.html), shared by /docs and /agents. */
.vexo-agent-download {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0.75rem 0 1rem;
}

.vexo-agent-download-option {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 1rem;
}

.vexo-agent-download-meta {
  color: var(--color-text-muted);
  font-size: 0.875rem;
}

.vexo-agent-download-checksum {
  flex-basis: 100%;
  word-break: break-all;
}
