/* ===== PPO Quadruped Navigation Page ===== */

.project-header h1 {
  text-align: center;
  font-size: var(--text-3xl);
  margin-bottom: var(--space-xs);
  color: var(--text-primary);
  letter-spacing: -0.03em;
}

.project-header p {
  text-align: center;
  font-size: var(--text-lg);
  margin-bottom: var(--space-lg);
  margin-left: auto;
  margin-right: auto;
  color: var(--text-secondary);
}

section {
  margin-bottom: var(--space-xl);
}

section h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-md);
  color: var(--text-primary);
  letter-spacing: -0.02em;
}

section h3 {
  margin-top: var(--space-md);
}

section p, section ul, section pre {
  margin-bottom: var(--space-md);
  font-size: var(--text-base);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  max-width: none;
}

ul {
  list-style: disc;
  padding-left: 20px;
}

ul ul {
  margin: 0;
  padding-left: 20px;
}

ul ul li {
  margin-bottom: 0;
}

/* Info cards grid */
.info-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--space-md);
  margin: var(--space-lg) 0;
}

.info-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  transition: transform var(--duration-normal) var(--ease-out),
              box-shadow var(--duration-normal) var(--ease-out);
}

.info-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.info-card .card-icon {
  font-size: 2rem;
  margin-bottom: var(--space-sm);
  display: block;
}

.info-card h4 {
  font-size: var(--text-lg);
  color: var(--text-primary);
  margin-bottom: var(--space-xs);
}

.info-card p {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: 0;
}

/* Reward function cards */
.reward-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-md);
  margin: var(--space-lg) 0;
}

.reward-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  position: relative;
  overflow: hidden;
}

.reward-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}

.reward-card.sparse::before {
  background: linear-gradient(90deg, #6366f1, #818cf8);
}

.reward-card.dense-1::before {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.reward-card.dense-2::before {
  background: linear-gradient(90deg, #10b981, #34d399);
}

.reward-card h4 {
  font-size: var(--text-lg);
  color: var(--text-primary);
  margin-bottom: var(--space-xs);
}

.reward-card .reward-tag {
  display: inline-block;
  font-size: var(--text-xs);
  padding: 2px 8px;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-sm);
  font-weight: 600;
}

.reward-card.sparse .reward-tag {
  background: rgba(99, 102, 241, 0.15);
  color: #818cf8;
}

.reward-card.dense-1 .reward-tag {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

.reward-card.dense-2 .reward-tag {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

.reward-card .reward-rules {
  list-style: none;
  padding: 0;
  margin: var(--space-sm) 0;
  font-family: 'DM Sans', monospace;
  font-size: var(--text-sm);
}

.reward-card .reward-rules li {
  padding: 4px 0;
  color: var(--text-secondary);
}

.reward-card .reward-rules .positive {
  color: #10b981;
}

.reward-card .reward-rules .negative {
  color: #ef4444;
}

.reward-card .reward-rules .neutral {
  color: var(--text-tertiary);
}

/* Results summary cards */
.results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-md);
  margin: var(--space-lg) 0;
}

.result-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  padding: var(--space-md);
}

.result-card h4 {
  font-size: var(--text-lg);
  color: var(--text-primary);
  margin-bottom: var(--space-xs);
}

.result-card .result-status {
  display: inline-block;
  font-size: var(--text-xs);
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-weight: 600;
  margin-bottom: var(--space-sm);
}

.result-card .result-status.no-convergence {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

.result-card .result-status.partial {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

.result-card .result-status.promising {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

/* Highlight box */
.highlight-box {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.08), rgba(59, 130, 246, 0.08));
  border-left: 4px solid #6366f1;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-lg) 0;
}

.highlight-box p {
  margin-bottom: 0;
  color: var(--text-secondary);
}

.highlight-box strong {
  color: var(--text-primary);
}

/* Project image */
.project-image-container {
  text-align: center;
  margin: var(--space-lg) 0;
}

.project-image-container img {
  max-width: 100%;
  height: auto;
  border-radius: 0;
  transition: transform var(--duration-normal) var(--ease-out);
}

.project-image-container img:hover {
  transform: scale(1.02);
}

.project-image-container .caption {
  margin-top: var(--space-xs);
  font-size: var(--text-sm);
  color: var(--text-tertiary);
}

/* Side-by-side image row */
.image-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin: var(--space-lg) 0;
  align-items: center;
}

.image-row .project-image-container {
  margin: 0;
}

.image-row .project-image-container img {
  max-height: 350px;
  width: auto;
  max-width: 100%;
}

/* Sensor images row (3 across) */
.sensor-images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin: var(--space-lg) 0;
  align-items: end;
}

.sensor-images .project-image-container {
  margin: 0;
}

.sensor-images .project-image-container img {
  max-height: 250px;
  width: auto;
  max-width: 100%;
}

/* Terminal state section */
.terminal-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
  margin: var(--space-md) 0;
}

.terminal-section .project-image-container {
  margin: 0;
}

.terminal-section .project-image-container img {
  max-height: 280px;
  width: auto;
  max-width: 100%;
}

/* Standalone result card (not in grid) */
.result-card.standalone {
  margin-bottom: var(--space-md);
}

/* Future work timeline */
.future-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  margin: var(--space-lg) 0;
}

.future-item {
  display: flex;
  gap: var(--space-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  align-items: flex-start;
}

.future-item .future-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(99, 102, 241, 0.1);
  border-radius: var(--radius-md);
}

.future-item h4 {
  font-size: var(--text-base);
  color: var(--text-primary);
  margin-bottom: var(--space-xs);
}

.future-item p {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .info-cards {
    grid-template-columns: 1fr;
  }

  .reward-cards {
    grid-template-columns: 1fr;
  }

  .results-grid {
    grid-template-columns: 1fr;
  }

  .future-item {
    flex-direction: column;
  }

  .image-row {
    grid-template-columns: 1fr;
  }

  .sensor-images {
    grid-template-columns: 1fr;
  }

  .terminal-section {
    grid-template-columns: 1fr;
  }
}
