.container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-large);
  padding: calc(3rem + var(--spacing-small)) var(--spacing-medium) var(--spacing-large);
  width: 100%;
  box-sizing: border-box;
}

.header {
  padding: var(--spacing-small) 0;
  text-align: center;
  margin-bottom: 0;
}

.title {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--color-text);
  display: inline-block;
}

.subtitle {
  margin-top: 0.25rem;
  color: var(--color-text);
  opacity: 0.6;
  text-align: center;
}

.uploadArea {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--spacing-medium);
  cursor: pointer;
}

.uploadBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-small);
  padding: var(--spacing-large);
  border: 2px dashed var(--color-primary);
  border-radius: var(--border-radius);
  background-color: var(--color-surface);
  width: 100%;
  max-width: 400px;
  transition: all 0.2s ease;
}

.uploadBox:hover {
  background-color: var(--color-surface-variant);
  border-color: var(--color-primary-dark);
}

.uploadIcon {
  font-size: 48px;
  margin-bottom: var(--spacing-small);
}

.uploadText {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--color-text);
}

.uploadHint {
  font-size: 0.9rem;
  color: var(--color-text);
  opacity: 0.6;
}

.tokenCost {
  margin-top: var(--spacing-medium);
  padding: var(--spacing-small) var(--spacing-medium);
  background-color: var(--color-surface-variant);
  border-radius: var(--border-radius);
  font-size: 0.9rem;
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: var(--spacing-small);
}
