@import url("/assets/brand/standon-tokens.css?v=20260727a");
@import url("/assets/brand/standon-system.css?v=20260727a");

/* Shared expression layer for the Standon identity. */

html {
  color-scheme: light;
}

body {
  accent-color: var(--brand-action);
}

::selection {
  background: var(--brand-mist-mid);
  color: var(--brand-ink);
}

.standon-wordmark {
  display: inline-flex;
  align-items: baseline;
  width: fit-content;
  color: inherit;
  font-family: var(--font-display);
  font-style: normal;
  font-weight: var(--weight-semibold);
  letter-spacing: -0.045em;
  line-height: 1;
  white-space: nowrap;
}

.standon-wordmark__stand,
.standon-wordmark__on {
  display: inline-block;
}

.standon-wordmark__on {
  position: relative;
  z-index: 0;
}

.standon-wordmark__on::after {
  display: none;
}

a .standon-wordmark {
  transition: opacity var(--motion-fast) ease;
}

a:hover .standon-wordmark,
a:focus-visible .standon-wordmark {
  opacity: 0.68;
}

.standon-brand-signature {
  display: flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-caption-size);
  font-weight: var(--weight-semibold);
  line-height: var(--text-caption-line);
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.standon-brand-signature::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: var(--radius-pill);
  background: currentColor;
}

.standon-foundation-rule {
  position: relative;
  height: 1px;
  overflow: visible;
  background: var(--color-border);
}

.standon-foundation-rule::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(48px, 8vw, 88px);
  height: 1px;
  background: var(--brand-ink);
}

.standon-brand-note {
  max-width: 66ch;
  color: var(--color-text-muted);
  font-family: var(--font-ui);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line);
}

.standon-brand-note strong {
  color: var(--color-text);
  font-weight: var(--weight-semibold);
}

/*
 * Senal prismatica
 * Shared technical material built from grids, translucent colour and dither.
 */

.standon-spectral-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: var(--brand-mist);
  pointer-events: none;
}

.standon-spectral-strip {
  height: 1px;
  overflow: hidden;
  background: var(--color-border);
}

/*
 * Cuaderno de contexto
 * A shared visual grammar for framing inputs, progress and outcomes without
 * borrowing decorative AI tropes.
 */

.standon-context-frame {
  --standon-context-ink: var(--color-text);
  --standon-context-surface: var(--brand-paper);
  --standon-context-line: var(--color-border-strong);
  position: relative;
  isolation: isolate;
  border-radius: var(--radius-md);
  box-shadow: inset 0 0 0 1px var(--standon-context-line);
}

.standon-context-frame::before {
  content: attr(data-context-label);
  position: absolute;
  z-index: 4;
  top: 10px;
  right: 10px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid var(--standon-context-line);
  border-radius: var(--radius-pill);
  background: var(--standon-context-surface);
  color: var(--standon-context-ink);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--weight-medium);
  line-height: 16px;
  letter-spacing: -0.01em;
  pointer-events: none;
}

.standon-context-frame:not([data-context-label])::before,
.standon-context-frame[data-context-label=""]::before {
  display: none;
}

.standon-context-frame::after {
  content: "";
  position: absolute;
  z-index: 4;
  bottom: -4px;
  left: 16px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--standon-context-surface);
  border-radius: var(--radius-pill);
  background: var(--brand-ink);
  box-shadow: 0 0 0 1px var(--brand-ink);
  pointer-events: none;
}

.standon-context-frame--inverse {
  --standon-context-ink: var(--brand-paper);
  --standon-context-surface: var(--brand-foundation-deep);
  --standon-context-line: rgba(var(--brand-paper-rgb), 0.34);
}

.standon-context-frame--inverse::after {
  background: var(--brand-paper);
  box-shadow: 0 0 0 1px var(--brand-paper);
}

.standon-context-sequence {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border-strong);
  list-style: none;
}

.standon-context-sequence li {
  position: relative;
  min-width: 0;
  padding: 15px 10px 0 0;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--weight-medium);
  line-height: 16px;
  letter-spacing: -0.01em;
}

.standon-context-sequence li::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  border: 1px solid var(--brand-paper);
  border-radius: var(--radius-pill);
  background: var(--brand-ink);
  box-shadow: 0 0 0 1px var(--brand-ink);
  animation: standon-context-node-in 480ms var(--ease-standard) both;
}

.standon-context-sequence li:nth-child(2)::before { animation-delay: 70ms; }
.standon-context-sequence li:nth-child(3)::before { animation-delay: 140ms; }
.standon-context-sequence li:nth-child(4)::before { animation-delay: 210ms; }

.standon-context-sequence li:last-child::before {
  background: var(--brand-violet);
  box-shadow: 0 0 0 1px var(--brand-violet);
}

.standon-context-sequence--inverse {
  border-top-color: rgba(var(--brand-paper-rgb), 0.36);
}

.standon-context-sequence--inverse li {
  color: rgba(var(--brand-paper-rgb), 0.76);
}

.standon-context-sequence--inverse li::before {
  border-color: var(--brand-foundation-deep);
  background: var(--brand-paper);
  box-shadow: 0 0 0 1px var(--brand-paper);
}

.standon-context-sequence--inverse li:last-child::before {
  background: var(--brand-paper);
  box-shadow: 0 0 0 1px var(--brand-paper);
}

.standon-context-note {
  position: relative;
  padding-left: 18px !important;
  border-left: 1px solid var(--color-border-strong) !important;
}

.standon-context-note::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: -4px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--brand-paper);
  border-radius: var(--radius-pill);
  background: var(--brand-ink);
  box-shadow: 0 0 0 1px var(--brand-ink);
}

@media (prefers-reduced-motion: reduce) {
  .standon-context-sequence li::before {
    animation: none;
  }

  a .standon-wordmark {
    transition: none;
  }

  .standon-spectral-media {
    transform: none;
    will-change: auto;
  }
}

@keyframes standon-context-node-in {
  from {
    opacity: 0;
    transform: translateY(-5px) scale(0.7);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
