/* ─── Upload Demo ─── */
.upload-section {
  background: var(--ink);
}
.upload-wrap {
  max-width: 900px;
  margin: 4rem auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.upload-zone {
  border: 2px dashed rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 3rem 2rem;
  text-align: center;
  transition: border-color 0.3s, background 0.3s;
  cursor: none;
}
.upload-zone:hover {
  border-color: rgba(200, 245, 60, 0.4);
  background: rgba(200, 245, 60, 0.03);
}
.upload-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  display: block;
}
.upload-zone h4 {
  font-family: 'Syne', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.upload-zone p {
  font-size: 0.82rem;
  color: rgba(245, 242, 235, 0.4);
  line-height: 1.5;
}
.upload-zone .upload-types {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 1.2rem;
}
.upload-types span {
  font-family: 'DM Mono', monospace;
  font-size: 0.65rem;
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.08em;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.5);
}

/* ─── Pathway Card ─── */
.pathway-card {
  border-radius: 20px;
  background: rgba(91, 79, 255, 0.08);
  border: 1px solid rgba(91, 79, 255, 0.2);
  padding: 2rem;
  grid-column: 1 / -1;
}
.pathway-card h4 {
  font-family: 'Syne', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.pathway-card p {
  font-size: 0.82rem;
  color: rgba(245, 242, 235, 0.4);
  margin-bottom: 1.5rem;
}

.pathway-modules {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.module-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  transition: background 0.2s;
}
.module-row:hover {
  background: rgba(255, 255, 255, 0.07);
}

.mod-status {
  width: 28px; height: 28px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
}
.mod-status.skip { background: rgba(200, 245, 60, 0.15); color: var(--lime); }
.mod-status.req  { background: rgba(91, 79, 255, 0.25);  color: #a99fff; }
.mod-status.fast { background: rgba(255, 200, 60, 0.15); color: #ffc83d; }

.mod-content  { flex: 1; }
.mod-name     { font-size: 0.88rem; font-weight: 600; margin-bottom: 2px; }
.mod-meta     { font-size: 0.72rem; color: rgba(245, 242, 235, 0.4); font-family: 'DM Mono', monospace; }

.mod-bar-wrap { width: 80px; }
.mod-time     { font-size: 0.7rem; color: rgba(245, 242, 235, 0.3); text-align: right; margin-bottom: 4px; }
.mod-bar      { height: 4px; background: rgba(255, 255, 255, 0.08); border-radius: 100px; overflow: hidden; }
.mod-fill     { height: 100%; border-radius: 100px; }
